tcpdump não reconhece ou operador

0

Eu quero capturar pacotes que são um pacote PPPoE Discovery ou Session.

O tcpdump suporta a combinação de protocolos com ou? A manpage parece dizer isso, mas parece que não funciona em Raspbian Wheezy com tcpdump 4.6.2 e libpcap 1.6.2.

Então eu estou abrindo duas sessões do tcpdump (em diferentes janelas do console, mesmo host):

pi@raspberrypi205 $ sudo tcpdump -i eth1 -vvvv pppoed or pppoes
pi@raspberrypi205 $ sudo tcpdump -i eth1 -vvvv pppoes or pppoed

Então estou enviando um pacote com o Scapy 2.2.0:

macIf1 = "00:24:9b:1b:51:be"; macIf2 = "00:24:9b:1b:50:23"; macBroadcast = "ff:ff:ff:ff:ff:ff"
pppoe_discovery = Ether(src=macIf1, dst=macBroadcast)/PPPoED(code=0xa7,sessionid=0x1122)/Raw(load='\x01\x04\x00\x00\x00\x00')
sendp(pppoe_discovery, iface="eth1")

Notavelmente, o primeiro comando tcpdump captura o pacote e o segundo não. Estou fazendo algo errado? Não é possível executar dois comandos tcpdump ao mesmo tempo?

pi@raspberrypi205 $ sudo tcpdump -i eth1 -vvvv pppoed or pppoes
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
12:17:50.174774 PPPoE PADT [ses 0x1122] [AC-Cookie][|pppoe]

pi@raspberrypi205 $ sudo tcpdump -i eth1 -vvvv pppoes or pppoed
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
    
por icehawk 07.03.2017 / 12:42

1 resposta

1

A documentação explica isso:

Note that the first pppoes keyword encountered in expression changes the decoding offsets for the remainder of expression on the assumption that the packet is a PPPoE session packet.

    
por 07.03.2017 / 13:34

Tags