мой tcpdump всегда фильтрует пакеты?

692

Я использую tcpdump уже около месяца, и недавно он прекратил захватывать любые пакеты, которые не были отправлены на или с компьютера, на котором запущен tcpdump. Я сократил свою команду до просто:

sudo tcpdump -i en2 

Я проверил свои интерфейсы с помощью ifconfig, и en2 находится в режиме «PROMISC». При указании определенного хоста в качестве фильтра, я вижу только несколько сообщений «arp», но ничто по сравнению с тем, что на самом деле происходит в сети.

Есть идеи, почему это будет происходить? Очень признателен, если кто-нибудь может дать совет!

Ричард

0

2 ответа на вопрос

1
Spiff

Возможно, ваша сеть была недавно переведена с концентратора на коммутатор. Коммутаторы узнают, к какому порту подключен данный MAC-адрес, и перенаправляют трафик только для этого MAC-адреса на этот один порт. Многоадресные и широковещательные рассылки (такие как ARP) по-прежнему отправляются на все порты.

Чтобы увидеть одноадресный трафик для других хостов при подключении к коммутатору, типичным решением является использование управляемого коммутатора, который поддерживает «зеркалирование портов», где вы можете настроить его для копирования всего трафика, который прошел бы через определенный порт, а также для копирования. ко второму порту, к которому подключен ваш сниффер.

Существуют также инструменты для хакерских атак, которые можно использовать для просмотра одноадресного трафика других устройств в коммутируемой сети, например, с помощью инструментов отравления ARP, чтобы заставить другие машины отправлять вам свой трафик, как если бы вы были маршрутизатором сети по умолчанию.

0
Gohu

Когда tcpdumpон запускается без -nопции, он выполняет поиск DNS по IP-адресам, которые он видит, это может объяснить, почему вы не видите пакеты, как только они приходят. Из справочной страницы tcpdump :

-n Don't convert addresses (i.e., host addresses, port numbers, etc.) to names. 

Я всегда использую tcpdump с -nвозможностью избежать этой проблемы:

sudo tcpdump -n -i en2 

Похожие вопросы