tcpdump -r file.trace - tcp dst port 80
é, como você descobriu, não um comando tcpdump válido. Se você remover o -
extra, receberá
tcpdump -r file.trace tcp dst port 80
que é um comando tcpdump válido, que mostrará apenas o tráfego para porta TCP 80. Ele não mostrará o tráfego da porta TCP 80, portanto, por exemplo , se file.trace
tiver tráfego HTTP de e para a porta 80, ele mostrará o tráfego da solicitação HTTP, mas o tráfego de resposta HTTP NÃO .
Se você quiser ver o tráfego para e da porta 80, use
tcpdump -r file.trace tcp port 80
No entanto, se houver tráfego TCP diferente do tráfego HTTP para ou da porta 80, isso também será mostrado.
Além disso, o tráfego HTTP não indo ou saindo da porta 80, como o tráfego HTTP-sobre-SSL / TLS ("https") ou o tráfego para portas como a porta 8080, não ser mostrado. Para, por exemplo, ver o tráfego de / para a porta 80 (para HTTP) e a porta 443 (para HTTPS), faça
tcpdump -r file.trace tcp port 80 or 443
Então, o que "não está funcionando"?
Não está mostrando, por exemplo, o tráfego HTTPS? Em caso afirmativo, você precisa adicionar a porta 443.
Não está mostrando tráfego para outras portas? Se assim for, você precisa adicionar essas portas também. O Tcpdump não reconhece o tráfego HTTP (e o Wireshark apenas o reconhece pelo número da porta).
Está mostrando apenas solicitações, não respostas? Se você quiser ver as respostas, use tcp port
em vez de tcp dst port
. Se você apenas quiser ver solicitações, use tcp dst port
.