Image

ナレッジベース → tcpdump を使用した受信 icmp リクエストの監視

[仮想サーバー]
公開日: 27.03.2024

ICMPリクエストは、サーバーが現在オンラインかどうかを確認するためによく使用されます。ノードの可用性の確認は、IPアドレスを指定してpingコマンドを使用して行われます。

ping xx.123.xx.123
Exchange of packets from xx.123.xx.123 to 32 bytes of data:
Response from xx.123.xx.123: number of bytes=32 time=3ms TTL=64
Response from xx.123.xx.123: number of bytes=32 time=3ms TTL=64

この時点で、リモートサーバーが応答を送信しており、コマンドの出力からそのサーバーが利用可能であることがわかります。

この場合、リモートサーバーにはログにイベントデータは記録されません。しかし、ICMPリクエストを送信している相手を特定したい場合は、 tcpdump ユーティリティを使用します。

1. tcpdumpのインストール

apt update
apt install tcpdump

2. ネットワークインターフェースの確認

apt install net-tools
ifconfig

このコマンドはすべてのネットワークインターフェースを表示し、パケットをリッスンするインターフェースを選択します。この例では enp3s0 を選びます。

tcpdump -i enp3s0 icmp and icmp[icmptype]=icmp-echo -n
listening on enp3s0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
21:52:20.352600 IP xx.234.xx.234 > xx.123.xx.123: ICMP echo request, id 1, seq 57, length 40
21:52:21.360715 IP xx.234.xx.234 > xx.123.xx.123: ICMP echo request, id 1, seq 58, length 40

ファイルに書き込むには、次のコマンドを使用します。

tcpdump -i enp3s0 icmp and icmp[icmptype]=icmp-echo -n >> /var/log/ping.log

このコマンドは、ICMPプロトコルを使用してこのホストにアクセスしたすべてのIPアドレスをファイルに記録します。

このコマンドを常に有効にしておくことはお勧めしません。ハードウェアリソースを消費するためです。この例はデバッグ目的で使用することを想定しています。





No Comments Yet