ネットワーク上で誰が私のPCにpingを送信しているかを知る方法はありますか?すべてのICMPパケットを監視することは可能ですか?どうやってやるの?
はい、それは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到着したパケットを監視します:
Ubuntuの場合:
参照: nixCraft
良いトレーニング@ 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
このパッケージは単にインストールする必要があります(お持ちでない場合):
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 などの監視アプリケーションを使用することもできます。