時折、ポートなどの疎通確認のため、相手先のポートがちゃんと開いているかを確認したい時がある。
そんな時は、基本的にポートの疎通確認用のコマンドを利用するのだが、地味にBashからでも疎通確認を行うことができる。

bash
exec 3<> /dev/tcp/相手先ホスト名/ポート番号 # TCP通信の場合 exec 3<> /dev/udp/相手先ホスト名/ポート番号 # UDP通信の場合

準備ができたら、以下のコマンドで対象のポートに通信を行える。

bash
echo -e "メッセージ" >&3 cat <&3
shell
root@BS-PHY-PROX-01:~# exec 3<> /dev/tcp/orebibou.com/80 root@BS-PHY-PROX-01:~# echo -e "GET $2 HTTP/1.0\n\n" >&3 root@BS-PHY-PROX-01:~# cat <&3 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> </body></html>

以上。
なお、もし"テスト用にポートを開きたい"といった場合は、ncコマンドを利用すると良いだろう。