nmapはサービスが「open | filtered」と表示されますが、ローカルでは「open」です。どのように点灯しますか?

nmapはサービスが「open | filtered」と表示されますが、ローカルでは「open」です。どのように点灯しますか?

Quake 3サーバーがあります。そして正常に開始されました。

問題は、誰もサーバーに接続できないことです。

実行中:nmap -sU -p 27960 hostnameステータスが表示されます。open|filtered

サーバーから直接コマンドを実行した場合open

そして右に縛られていることを確認しました。iface

確認しましたiptablesルールが見つかりましたが、関連するフィルタが見つかりませんでした。また、次のように明示的にポートを開こうとしました。iptables -A INPUT -p udp --dport 27960 -j ACCEPT

しかし、これは役に立ちません。

何ができたのか?

ISPサポートセンターに電話したところ、何もフィルタリングしないと言いました。

ベストアンサー1

ローカルシステムとリモートシステムで異なる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.

問題が実際に存在するかどうかを確認するには、次のツールを試してください。

  1. に送信されたUDPパケットをキャプチャしport 27960ます。tcpdumpパケットがデバイスに到達していることを確認してください。

次のコマンドを実行して、ポート27960に送信されたUDPパケットをファイルにキャプチャします。tcpdump.out

$ sudo tcpdump -A 'udp and port 27960' -w tcpdump.out`

次のコマンドを使用して、別のコンピュータからポートに接続してみてください。netcat

$ nc <server-ip-address> -u 27960

ダンプを停止し、tcpdump.outにキャプチャされたパケットがあることを確認します。

$ wireshark tcpdump.out

パケットがキャプチャされない場合は、一部の中間デバイス(ファイアウォール)が通信をブロックしていることを意味します。そうでない場合は、キャッチしたら、要求に応答してサーバーによって提供された応答を確認してください。エラーコードを含むICMP応答がある場合は、一部のローカルファイアウォールがそれをブロックしていることを意味します。

おすすめ記事