2017-01-24 2 views
0

Я собираю некоторые пакеты в своем тестировании. Я не хочу захватывать пакеты с одинаковыми src и dst ip. Как я могу достичь этого?Не записывайте пакеты с одинаковым IP-адресом источника и назначения, используя tcpdump

Я попытался ниже

tcpdump -i any '(not src host 10.10.10.10) and (not dst host 10.10.10.10)'

В результате захвата пакетов не удовлетворяет. Потому что у меня есть некоторые пакеты из src host 10.10.10.10 для dst host 10.10.10.20. Мне нужно их захватить.

Может кто-нибудь помочь мне. Заранее спасибо.

ответ

0

Вы можете попробовать:

tcpdump -i any 'not ((src host 10.10.10.10) and (dst host 10.10.10.10))' 

И если вы правильно применять De Morgan's Theorem, следующее эквивалентны:

tcpdump -i any '(not src host 10.10.10.10) or (not dst host 10.10.10.10)' 

А если добавить tcpdump «s -d опцию и вы увидите что они фактически эквивалентны полученному скомпилированному пакетному коду. Я получаю следующее для обоих:

(000) ldh  [14] 
(001) jeq  #0x800   jt 2 jf 6 
(002) ld  [28] 
(003) jeq  #0xa0a0a0a  jt 4 jf 13 
(004) ld  [32] 
(005) jeq  #0xa0a0a0a  jt 12 jf 13 
(006) jeq  #0x806   jt 8 jf 7 
(007) jeq  #0x8035   jt 8 jf 13 
(008) ld  [30] 
(009) jeq  #0xa0a0a0a  jt 10 jf 13 
(010) ld  [40] 
(011) jeq  #0xa0a0a0a  jt 12 jf 13 
(012) ret  #0 
(013) ret  #65535 
Смежные вопросы