Ping のポート指定?
ご存知の通り、Ping は ICMP を使った疎通確認ツールです。ICMP は TCP や UDP と違い、ポート番号という概念がありません。
ところが標題の件。
通常とは異なる、特殊な Ping ツールを使うことで、Windows や Linux からTCP のポート番号を指定した Ping が可能なのです。
Windows の PsPing
Windows には Microsoft が提供する、PsPing というものがあります。使い方は以下の手順になります。
1. 「PSTools.zip」のダウンロード
下記サイトの赤枠をクリックし、PSTools.zipというpsping周辺ツール一式をダウンロードします。
2. 解凍・フォルダ配置
zip を解凍し、「PSTools」というフォルダを適切な位置に配置します。この例では C:\ 直下に配置します。
3. cd を使ってPSTools まで移動
コマンドプロンプトを起動し、cd で PSTools まで行きます。C:\ 直下に配置した場合は以下のコマンドで移動できます。
C:\> cd c:\PSTools
4. PsPingの実行
以下コマンドでポート番号80を指定してwww.yahoo.co.jpまでの接続性を確認します。
C:\PSTools> psping.exe www.yahoo.co.jp:80
初回だけ下記ライセンス規約の同意画面が出ます。
問題なければ Yes を押すと、ツールの利用が可能になり、次回以降は表示されません。
この例では www.yahoo.co.jp という URL を指定しましたが、IP アドレスでも当然可能です。
Linux の hping3
Linux にも同様に hping3 というツールがあります。(Windows版もありますが。)
CentOS8 での hping3 の使い方は以下の手順になります。
hping3 を インストール
EPEL レポジトリを使います。
[root@localhost ~]# dnf -y install epel-release [root@localhost ~]# dnf -y install hping3
hping3 を実行
最低限、使うオプションは -S と -p です。-S は syn flag を立てます。-p はポート番号を指定します。
以下の例では tcp 443 番ポートを syn flag を立てた状態で www.yahoo.co.jp へ接続しています。
[root@localhost ~]# hping3 -S -p 443 www.yahoo.co.jp
HPING www.yahoo.co.jp (enp0s3 183.79.250.251): S set, 40 headers + 0 data bytes
len=46 ip=183.79.250.251 ttl=54 DF id=0 sport=443 flags=SA seq=0 win=14600 rtt=41.8 ms
len=46 ip=183.79.250.251 ttl=54 DF id=0 sport=443 flags=SA seq=1 win=14600 rtt=32.9 ms
len=46 ip=183.79.250.251 ttl=54 DF id=0 sport=443 flags=SA seq=2 win=14600 rtt=22.7 ms
len=46 ip=183.79.250.251 ttl=54 DF id=0 sport=443 flags=SA seq=3 win=14600 rtt=41.6 ms
^C
--- www.yahoo.co.jp hping statistic ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 22.7/34.8/41.8 ms
また、UDP を使う場合は --udp を使います。
[root@localhost ~]# hping3 --udp -p 514 192.168.0.1
HPING 192.168.0.1 (enp0s3 192.168.0.1): udp mode set, 28 headers + 0 data bytes
ICMP Port Unreachable from ip=192.168.0.1 name=WN-AX1167GR2.AirPort
ICMP Port Unreachable from ip=192.168.0.1 name=WN-AX1167GR2.AirPort
ICMP Port Unreachable from ip=192.168.0.1 name=WN-AX1167GR2.AirPort
^C
上記のケースはたまたま 192.168.0.1 の機器が、udp 514 の通信を受けて ICMP Port Unreachable を返していますが、そもそも応答するかどうかは対向の機器の仕様や設定次第になります。
コメント