web-dev-qa-db-ja.com

誰が私にpingを送信しているかを監視する方法は?

ネットワーク上で誰が私のPCにpingを送信しているかを知る方法はありますか?すべてのICMPパケットを監視することは可能ですか?どうやってやるの?

23
nux

はい、それはtcpdumpを使用して可能です。これは、Linuxで最も強力で広く使用されているコマンドラインパケットスニッファーまたはパッケージアナライザーツールです。

ミニチュアしたいコンピューターのターミナルで:

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

オプション:

-n avoid a (potentially slow) reverse DNS query
−i interface
icmp[icmptype]=icmp-echo    To print all ICMP packets that are echo requests/replies

ethXでリッスンを開始し、到着したパケットを待機します。

例:2個のwin710.1.1.8、Ubuntu10.1.1.57到着したパケットを監視します:

enter image description here

Ubuntuの場合:

enter image description here

参照: nixCraft

31
nux

良いトレーニング@ nux気に入った。

avahiツール(Synapticからインストールできます)を使用して、だれがpingを送信しているかを見つけるために使用するトリックも追加したいと思います。

ターミナルavahi-browse -ratで実行すると、次のように接続の完全なリストが自動的にコンパイルされます。

hostname = [xxx-xxx.local]
address = [xxx::x:xxx:xxx:xxx:xxx] physical
address = [xx.xx.xxx.xx] ipv4 or ipv6
port = [xxx]
txt = [xxx]

たとえば、このコマンドを実行すると、セッション中にインターネットプロバイダーがpingを送信していることを常に確認できます。

Avahiでできることをすべて確認するには、次を実行します。

avahi-browse --help 
6
JoKeR

このパッケージは単にインストールする必要があります(お持ちでない場合):

Sudo apt-get install iptables-persistent

次に、このコマンドを/etc/iptables/rules.v4ファイルに追加します。

-A INPUT -p icmp --icmp-type echo-request -j LOG --log-prefix "LOG_IPTABLES_PING_REQUEST: "

誰にpingを送信したかを確認するには、ログファイルを確認するだけです。

grep 'LOG_IPTABLES_PING_REQUEST: ' /var/log/messages

Wireshark などの監視アプリケーションを使用することもできます。

1
Maythux