Обнюхивать пакеты, видя имя интерфейса и флаг входа / выхода

376
Alexei Martianov

Я пытаюсь отслеживать свой трафик и установил WireShark как наиболее рекомендуемый инструмент в Linux.

Тем не менее, я не нашел надежного способа узнать, является ли пакет входящим или исходящим, и отобразить имя интерфейса (даже в сведениях о пакете интерфейс всегда равен 0). Я могу угадать эту информацию по ip, но я хочу точную информацию и не хочу ошибаться. Интерфейсы в promiscuousрежиме уже.

Например, после ping localhostс помощью anyинтерфейса мониторинга SNAT WireShark ( Linux-cookedзаголовок канального уровня) выдается одна запись запроса с

Internet Protocol Version 4, Src: 192.168.1.4, Dst: 127.0.0.1 

и ответить:

Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1

где задействованы два интерфейса и есть два разных пакета для каждого запроса и ответа IMHO. Я не вижу специфику SNAT без подробной информации.

Есть ли настройки / способы просмотра

interface+in/out

информация в WireShark? Если нет, то как вы советуете нюхать / контролировать?

0

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

3
Christopher Maynard

Wireshark и его инструменты командной строки захват компаньона tsharkи dumpcapпозволяют указать несколько интерфейсов, чтобы захватить на. Так, например, вместо того, чтобы указывать -i anyи получать готовый захват Linux, вы можете указать -i eth0 -i loзахват на обоих интерфейсах без потери информации для каждого интерфейса. В Wireshark просто нажмите Ctrl + клик на каждом интерфейсе, который вы хотите захватить, на главной странице или в меню Capture-> Options .

А поскольку вы захватываете более чем на один интерфейс, каждому интерфейсу назначается отдельный идентификатор интерфейса, который добавляется к данным кадра и может даже использоваться для фильтрации пакетов с использованием frame.interface_idфильтра отображения. Например, если вы хотите видеть только кадры для идентификатора интерфейса 0, используйте frame.interface_id == 0. Вы также можете добавить это поле в виде столбца, чтобы легче видеть, какой кадр связан с каким интерфейсом.

Спасибо! Я не мог догадаться, чтобы использовать `Ctrl-Click`, чтобы выбрать более одного интерфейса, прежде чем нажимать` Start`, я попробую это. Похоже, что нет никакого способа различать `in` и` out`, верно? Alexei Martianov 6 лет назад 0
0
Dhirendra Kumar

Вы можете просто использовать команду tcpdump для мониторинга входящих или исходящих пакетов.

tcpdump -i eth0 (Here you need to specify that which port you want to monitor) 

А для визуализации с помощью Remote IP с размером пакета вы можете установить NTOP Tool на ваш Linux-сервер.