Eu não acho que você pode filtrar usando tcpdump
no nível do protocolo, (HTTP, GSM_MAP, etc.), ou devo dizer não muito facilmente. Este SO Q & A intitulado: " Posso usar o tcpdump para obter solicitações HTTP, cabeçalho de resposta e corpo de resposta? ", mostra como você faria isso para o tráfego HTTP, não é bonito! Acho que o recurso que você está procurando permitiria filtrá-los pelo nome geral do protocolo.
Como alternativa, você pode querer experimentar a versão de linha de comando do Wireshare, também conhecido como. tshark
em vez disso.
tshark
pode ser um pouco assustador para começar, mas é uma ferramenta bastante direta quando você gasta um pouco de tempo lendo o tshark
man page e pesquisando as receitas existentes. Você pode usar o comando para descobrir todos os protocolos que o tshark
conhece:
$ tshark -G protocols|grep -E "SCCP|GSM_MAP|SCTP"
GSM Mobile Application GSM_MAP gsm_map
Signalling Connection Control Part SCCP sccp
Signalling Connection Control Part Management SCCPMG sccpmg
Stream Control Transmission Protocol SCTP sctp
SS7 SCCP-User Adaptation Layer SUA sua
Olhando para a saída acima, parece que tshark
conhece todos os protocolos em suas perguntas, então esse é um bom primeiro passo. Se você precisar filtrar campos específicos dentro de um determinado protocolo, poderá pesquisar no site do Wireshark usando o índice de referências de protocolo . , então esse é um bom segundo passo.
$ tshark -G fields | head -10
P Short Frame short
P Malformed Packet malformed
P Unreassembled Fragmented Packet unreassembled
P IEEE 1722 Protocol ieee1722
F Control/Data Indicator ieee1722.cdfield FT_BOOLEAN ieee1722 8 0x80
F AVBTP Subtype ieee1722.subtype FT_UINT8 ieee1722 BASE_HEX 0x7f
F AVBTP Stream ID Valid ieee1722.svfield FT_BOOLEAN ieee1722 8 0x80
F AVBTP Version ieee1722.verfield FT_UINT8 ieee1722 BASE_HEX 0x70
F AVBTP Media Reset ieee1722.mrfield FT_UINT8 ieee1722 BASE_DEC 0x8
F AVBTP Gateway Info Valid ieee1722.gvfield FT_BOOLEAN ieee1722 8 0x2
...
Exemplo
Aqui estou coletando o tráfego do protocolo HTTP somente onde eu carrego uma página de "unix.stackexchange.com", ou seja, "198.252.206.16". Minha interface sem fio ( -i wlp3s0
) e estou apenas descarregando as primeiras 10 linhas de saída.
$ tshark -O http -i wlp3s0 host 198.252.206.16 | head -10
Capturing on 'wlp3s0'
2 Frame 1: 855 bytes on wire (6840 bits), 855 bytes captured (6840 bits) on interface 0
Ethernet II, Src: IntelCor_85:a7:20 (00:26:c7:85:a7:20), Dst: Watchgua_85:be:9a (00:90:7f:85:be:9a)
Internet Protocol Version 4, Src: 192.168.1.161 (192.168.1.161), Dst: 198.252.206.16 (198.252.206.16)
Transmission Control Protocol, Src Port: 37713 (37713), Dst Port: http (80), Seq: 1, Ack: 1, Len: 789
Hypertext Transfer Protocol
GET /review/late-answers HTTP/1.1\r\n
[Expert Info (Chat/Sequence): GET /review/late-answers HTTP/1.1\r\n]
[Message: GET /review/late-answers HTTP/1.1\r\n]
[Severity level: Chat]
[Group: Sequence]
...
A principal coisa que você deve manter em dia é que você está usando "capturar filtros" aqui ao registrar essas informações . Estes são diferentes que "exibir filtros" .
Permissões
Certifique-se de verificar este U & Q e & A intitulado: Não é possível fazer com que o Wireshark seja executado como usuário no CentOS se você não tiver suas configurações de permissão corretamente para poder executar tshark
e wireshark
como não raiz usuários.