Ответы:
Да, это возможно с 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 компьютера win7 10.1.1.8 , Ubuntu 10.1.1.57, которые будут отслеживать поступившие пакеты:
На убунту:
Ссылка: nixCraft
Хорошая тренировка @nux, мне понравилось.
Я также хотел бы добавить свой трюк, который я использую, чтобы выяснить, кто пингует меня с помощью avahi
инструмента (можно установить из Synaptic
).
Когда я запускаю в терминале 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]
Например, я всегда могу видеть, когда мой интернет-провайдер пингует меня во время сеанса, когда я запускаю эту команду.
Чтобы увидеть все, что может сделать 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: "
Чтобы проверить, кто вас пингует, просто проверьте файл журнала:
grep 'LOG_IPTABLES_PING_REQUEST: ' /var/log/messages
Вы также можете использовать приложения для мониторинга, такие как Wireshark .
-n
показывает IP вместо DNS-имен , а не MAC-адрес. Таким образом, выполнение с -n позволяет избежать (потенциально медленного) обратного DNS-запроса.