UDPポートが開いていることを確認する方法は?[閉まっている]


13

ここにジレンマがあります。別のリモートデバイスと通信するデバイスがありますが、それらの間にファイアウォールがあります。これはUDP接続なので、特定のポートが開いているかどうかをテストするためにTCPユーティリティが機能しません。ファイアウォールから取得できることはわかっていますが、アクセス権がないため、ポートが開いていないことを証明する必要があります。

ソースシステムはWindows 7システムで、デスティネーションシステムはLinuxを実行しているアプライアンスです。


1
ファイアウォールにアクセスしないと、あなたは本当に知ることができません(もちろん、システムが動作している場合を除きます)。
ロントランク

制御できないネットワークに関する質問は、ここでは明らかにオフトピックです。
ロンモーピン

2
私はそれを開いたままにしておくことに投票します。これは灰色の領域に該当すると思いますが、これは有用な理論/トラブルシューティングの質問です。
ロントランク

1
...ファイアウォールとネットワークを制御していますか?そうでない場合、これはここでのトピック外です。
クレイグコンスタンティン

これは現在ラボ環境であり、将来の生産状況をシミュレートしようとしています。サーバー側でログを解析することなく、UDPセッションをトラブルシューティングする方法を取得したいと思います。しかし、感謝は私はそれがコミュニケーションの種類の性質によって可能ではないと信じています。
JoeliNNaBit

回答:


10

UDPは明らかに送信して忘れるプロトコルです。たとえば、NMap UDPスキャン中に、UDPポートが開いていることを明確に証明する唯一の方法は、そのポートから応答を受信することです。多くのサービスが任意のデータに応答せず、応答を保証するためにプロトコルまたはアプリケーション固有の要求を必要とする場合があることに留意してください。ただし、特定のICMPコードは、ポートが閉じられていることを保証できます。RFC 792RFC 1122は、ポートが閉じられたときに何を期待するかについての良い情報を提供します。

たとえば、ICMPタイプ3コード3「宛先ポート到達不能」は、すべての意図および目的のために、閉じたポートであることがほぼ保証されます。

コードの完全なリストはここにあります:

http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml


1
答えてくれてありがとう。ICMPタイプ3要求についてさらに調査します。
JoeliNNaBit

7

これは簡単なレシピです:

1)パケットスニファーを開始します。

sudo tcpdump -n -i eth2 icmp &
[1] 1409
$ tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 262144 bytes

2)UDPパケットを送信します。

$ echo reply-me | nc -u 1.0.0.2 1000

3)「ICMPポート到達不能」を受け取った場合、そのUDPポートは閉じられています:

20:54:15.475211 IP 1.0.0.2 > 1.0.0.1: ICMP 1.0.0.2 udp port 1000 unreachable, length 45

4)それ以外の場合、通常はポートが開いているか、何かがICMPをブロックしています。


1
ソースシステムはWindows 7であるため、Linuxコマンドは機能しません。
ロンモーピン

1
はい、それは事実ですが、仮想マシンを試して、動作するかどうかを確認します。
JoeliNNaBit

4

"nc -uvz ip port"あなたは、おそらく使用する必要があり、何とか正確ではない"nmap -sU -p port ip"、おそらくそれが閉じたり濾過される|「フィルタオープン」、それが示した場合、その後のUDPポートはおそらく、オープンしている結果が示す「オープン」場合は、。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.