1

Я хотел бы контролировать пакеты с помощью TCPdump. К сожалению, я должен сделать это удаленно - в этом случае я использую удаленный рабочий стол из VNC, но в лучшем случае я могу сделать это через SSH.

Под "в лучшем случае" я подразумеваю следующее: я вижу огромное количество пакетов, которые направлены на мою собственную машину. Я пытаюсь контролировать сервер, а не мою локальную машину, поэтому я действительно предпочел бы игнорировать любые пакеты, идущие на мою собственную машину.

Есть ли способ заставить tcpdump сообщать обо всем, кроме пакетов, идущих на определенный IP?

Мое хакерское решение: sleep 5;tcpdump [options] и убить соединение VNC, пока я жду.

2 ответа2

1

Да, вы можете добавить фильтр в настройках tcpdump. Предполагая, что ваш IP 1.2.3.4, это будет выглядеть так:

tcpdump -f "not host 1.2.3.4" ...other options...
1

Вы можете сделать это с помощью следующей команды:

  tcpdump -i eth0 ! host Your.own.Ip.Address. 

Однако это немного излишне: вас могут интересовать пакеты, адресованные вашей машине, но не пакеты, относящиеся к самой связи. Ты можешь использовать

  tcpdump -i eth0 ! port 22

(если вы подключены через ssh), что исключит все пакеты, идущие на / с удаленного компьютера через порт 22; однако это также отбросит все ssh-пакеты на / с удаленной машины с / на другие машины.

Если вы хотите быть действительно полным, исключая только трафик между вашими локальными и удаленными машинами через ssh, вы должны выполнить:

  tcpdump -i etho ! '((host remote.machine.ip.address and port 22) and local.machine.ip.address)'

Помните вершины, они важны.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .