UDPのポートの空き確認は、tracerouteではなくて、ncコマンドを使うと便利です。
UDPのポート疎通確認
TCPの場合、ポート番号が空いているかどうかの確認は、telnetを使うと便利です。
1 2 3 4 |
$ telnet 192.168.11.53 6000 Trying 192.168.11.53... Connected to 192.168.11.53. Escape character is '^]'. |
このように応答があれば、ポートは使われています。
このケースではTCPのポート6000番は、すでに使われています。
一方、UDPのポート6000番が使われているかどうかは、telnetでは確認できません。
では、UDPの場合、どうすればよいでしょうか?
よくあるのは、tracerouteコマンドを使う方法です。
1 2 3 4 5 6 7 |
$ traceroute -U -p <port> <hostname> traceroute to hostname (xxx.xxx.xxx.xxx), 30 hops max, 60 byte packets 1 * * * 2 * * * 3 * * * 4 * * * 5 * * * |
しかし、tracerouteは途中の経路に依存するため、場合によっては上記のように延々と米印を見続ける羽目になります。
単純に目的のサーバ(の特定のポート)に疎通できているか知りたい場合は、ncを使ったほうが便利です。
ncコマンドでサーバーを立てる
ncコマンドとは、簡易なクライアント、サーバのプロセスを起動するコマンドです。
TCPまたはUDPで簡単なエコーサーバを起動することができます。
nc -lu 192.168.11.53 6000
のように使います。
-uでUDPを指定。何もつけなければTCPになります。
-l は Listenです。
1 2 |
$ nc -lu 192.168.11.53 6000 nc: : Operation not permitted |
nc: : Operation not permitted
この場合、UDPのポート6000番は既に使われています。
1 |
$ nc -lu 192.168.11.53 6000 |
何も反応がない場合、UDPのポート6000番は空いています。
UDP ポートチェック 関連サイト
本件は、以下のサイトに書かれていました。
↓UDPの疎通確認はtracerouteよりncが便利
・https://qiita.com/mokrai/items/f6e4c0ff626103ebf324
コメント