web-dev-qa-db-ja.com

誰が私のコンピュータにpingするかを知る方法は?

重複の可能性:
コンピュータがpingされたことをどのように確認できますか?

Linuxを使用しています。コンピューターにpingを送信しているユーザーを確認する方法を教えてください。私は Windowsを使用したこの同様の質問 を見てきましたが、私に当てはまるかどうかはわかりません。

8
rɑːdʒɑ

だれがpingを実行しているかを確認する方法を尋ねているようですね。すばやく簡単な方法の1つは、tcpdumpを使用して、すべての着信ICMPエコー要求を単に監視することです。

Sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo

ここで、ethXは、リッスンするアダプターの名前です。

Tcpdumpはデフォルトでホスト名を解決するため、代わりに-nオプションを追加してIPを取得する必要がある場合があることに注意してください。

(ちなみに、これはリンクした質問で与えられた説明と基本的に同じですが、関連はありますが別個のツールであるWireshark用です。)

26
Charles

あなたはこのようにtcpdumpを使うことができます

tcpdump ip proto \\icmp

このような出力が得られます

09:25:22.650727 IP 192.168.1.69> centos6.lan:ICMPエコー要求、id 1、seq 1、l ength 40 09:25:22.650816 IP centos6.lan> 192.168.1.69:ICMPエコー応答、id 1、seq 1 、長さ40

あなたもiptablesを使うことができます

 iptables -I INPUT -p icmp --icmp-type 8 -m state  --state NEW,ESTABLISHED,RELATED -j LOG --log-level=1 --log-prefix "Ping Request "

/ var/log/messagesでこのようなメッセージを取得します(少なくともCentOSでは)

11月14日09:43:35 centos6カーネル:Ping要求IN = eth0 OUT = MAC = 00:0c:29:d2:2c:38:00:0c:29:fe:8e:bb:08:00 SRC = 192.168。 1.69 DST = 192.168.254.188 LEN = 60 TOS = 0x00 PREC = 0x00 TTL = 126 ID = 6551 PROTO = ICMP TYPE = 8 CODE = 0 ID = 1 SEQ = 37

15
user9517