Как следить за тем, кто меня пингует?

24

Есть ли способ узнать, кто пингует мой компьютер в моей сети? Можно ли отслеживать все пакеты ICMP? Как я могу это сделать?

Nux
источник

Ответы:

33

Да, это возможно с 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
источник
1
Небольшое исправление: -nпоказывает IP вместо DNS-имен , а не MAC-адрес. Таким образом, выполнение с -n позволяет избежать (потенциально медленного) обратного DNS-запроса.
Rmano
Я использовал беспроводную карту (wlan0), но мне не удалось вернуть код Ubuntu.
Сатья Пракаш
6

Хорошая тренировка @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 
JoKeR
источник
Я хотел бы простых решений без установки какого-либо пакета, но все в порядке
NUX
да, я согласен, это зависит от желания каждого, но этот инструмент имеет больше функций, не только пингует, он позволяет обнаруживать сервисы и хосты и т. д.
JoKeR
1

Этот пакет должен быть просто установлен (если у вас его нет):

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 .

Maythux
источник
это должно быть / var / log / syslog вместо этого?
энтузиастик