ファイアウォール(FW)などを構築する時や、その他サーバなどを構築する時に、他のネットワークからアクセスが来ているか、または外部からのアクセスを遮断できているか調べる場面に遭遇します。
確認自体は実際に外から ping や ssh, http など、プロトコルに合わせてポートへのアクセスが通っているか確認すればいいですが、思うようにいかなかった場合にサーバ側で tcpdump を使うとパケットを確認できて便利です。
そこで、tcpdump でよく使うコマンドを挙げておきます。
目次(もくじ)
tcpdumpコマンド
特定のインタフェースに届いているパケットを見たい場合は、-i オプションでネットワークカードのインタフェース(eth0など)を指定します。
1 | $ tcpdump -i {インタフェース名} |
httpのパケット
特定のインタフェースに届いている http のパケットを見たい場合はプロトコルやポートを指定します。
1 | $ tcpdump -i {インタフェース名} -n tcp port 80 |
特定のホスト
特定のホストからの http のパケットを見たい場合は、接続元のソースアドレス(IPアドレス)を指定します。
1 | $ tcpdump -i eth0 -n host {接続元のIPアドレス} and tcp port 80 |
これで、とりあえずはポート単位やホスト単位で、目的のサーバまでパケットが到達しているかどうかは確認できます。