Это фильтр для отбора пакетов в трассу.
Чтобы выбрать только интересующие вас пакеты, и не загромождать трассу всеми остальными.
ВНИМАНИЕ! Если tcpdump запускается на том же интерфейсе, через который осуществляется доступ к устройству, то необходимо создать избирательный фильтр, чтобы пропускать только конкретно интересующие вас пакеты (например, ICMP) или отсекать все пакеты того протокола, по которому вы работаете с устройством (HTTP, HTTPS, SSH или Telnet). В противном случае вы получите лавину пакетов о своих же пакетах о своих же пакетах о своих же пакетах...
Выражение составляется из одного или нескольких примитивов, соединённых операторами. Примеры простейших выражений (одиночных примитивов):
host X.X.X.X
dst host X.X.X.X
src host X.X.X.X
net XXXX
src net
и dst net
.net X.X.X.X mask Y.Y.Y.Y
src net ... mask
и dst net ... mask
.ip proto номер
tcp
, udp
, icmp
и т.п. необходимо предварять обратным слэшем (\
), поскольку они совпадают с соответствующими ключевыми словами.tcp, udp, icmp
ip proto \tcp
, ip proto \udp
, ip proto \icmp
, соответственно.port N
src port
и dst port
. Допускается только после указания протокола TCP или UDP.portrange M-N
src portrange
и dst portrange
.Выражение может содержать несколько примитивов, соединённых логическими операторами &&
(И), ||
(ИЛИ) и !
(НЕ). При вводе в nsgsh в этом случае его необходимо взять в кавычки, чтобы эти операторы не были восприняты как спецсимволы самой командной оболочки, например:
"!(host 1.2.3.4 && tcp port 80)" — исключить из трассы весь трафик HTTP с/на хост 1.2.3.4
Подробно о выражениях см. в man pages по tcpdump.
© Network Systems Group 2015–2024 | Отдел документации |