Firewall
nmap 向我顯示一項服務是“開放的|過濾的”,而在本地它是“開放的”,如何打開?
我有一台 Quake 3 伺服器。並且成功啟動。
問題是沒有人可以連接到該伺服器。
我正在跑步:
nmap -sU -p 27960 hostname
它向我展示了它的狀態open|filtered
如果我直接從伺服器執行該命令,它就是
open
.另外,我確保它綁定到右邊
iface
我檢查了iptables規則,找不到任何與之相關的過濾器。此外,我嘗試通過顯式打開埠
iptables -A INPUT -p udp --dport 27960 -j ACCEPT
但這沒有幫助。
它可能是什麼?
我打電話給 ISP 支持中心,他們說他們沒有過濾任何東西。
從本地機器和遠端機器獲取不同的 nmap 結果意味著有某種防火牆(無論是在本地執行還是在某些遠端機器上執行)正在阻塞。根據 nmap 文件,
open|filtered Nmap places ports in this state when it is unable to determine whether a port is open or filtered. This occurs for scan types in which open ports give no response. The lack of response could also mean that a packet filter dropped the probe or any response it elicited. So Nmap does not know for sure whether the port is open or being filtered. The UDP, IP protocol, FIN, NULL, and Xmas scans classify ports this way.
我建議您嘗試以下工具來確定問題是否存在:
- 擷取注定要
port 27960
使用tcpdump
和 的 UDP 數據包。檢查數據包是否到達您的機器。執行以下命令,將發往 27960 埠的 udp 數據包擷取到一個文件中
tcpdump.out
$ sudo tcpdump -A 'udp and port 27960' -w tcpdump.out`
嘗試使用從其他機器連接到埠
netcat
$ nc <server-ip-address> -u 27960
現在停止轉儲並檢查是否有任何數據包在 tcpdump.out 中被擷取或沒有使用wireshark。
$ wireshark tcpdump.out
如果沒有擷取到數據包,這意味著某些中間設備(防火牆)正在阻止通信。否則,如果被擷取,請檢查伺服器在返回請求時給出的回复。如果是任何類型的帶有錯誤程式碼的 ICMP 回复,則意味著有一些本地防火牆正在阻塞。