usando wireshark / tshark na linha de comando para ignorar conexões ssh

4

Eu estou tentando depurar alguns, olhando para os pacotes e gostaria de evitar todo o tráfego SSH para o servidor. Existe uma maneira de ignorar?

Eu tentei fazer algo parecido com tshark -f "port !22" , mas ele parou de escutar após o comando.

[root@vpn ~]# tshark -f "port !22"
tshark -f "port ls"
Running as user "root" and group "root". This could be dangerous.
Capturing on venet0
tshark: arptype 65535 not supported by libpcap - falling back to cooked socket.

tshark: Invalid capture filter: "port ls"!

That string isn't a valid capture filter (unknown port 'ls').
See the User's Guide for a description of the capture filter syntax.
0 packets captured
[root@vpn ~]#
    
por Tiffany Walker 07.01.2013 / 22:01

2 respostas

5

Tanto o tshark quanto o tcpdump usam a biblioteca pcap , então os filtros de captura usam a sintaxe pcap-filter . O filtro que você deseja é, como diz @tristan, "not port 22" . Você pode inserir isso como um argumento de string entre aspas na opção -f , ou como um argumento sem aspas para o comando. Os seguintes comandos são equivalentes:

# tshark -f "not port 22"
# tshark -- not port 22

A razão pela qual tshark reclamou do seu comando acima é que seu shell (provavelmente Bash) expandiu "! 22" para o comando número 22 em seu histórico de comandos, que nesse caso era "ls". A documentação do Bash tem mais informações sobre a expansão do histórico.

    
por 07.01.2013 / 23:05
2

Eu não tenho acesso a uma instalação do tshark atualmente, mas presumo que seja o mesmo que o tcpdump:

sudo tcpdump not port 22

então, potencialmente:

tshark not port 22 
    
por 07.01.2013 / 22:05