12 comandos tcpdump - uma ferramenta de sniffer de rede

12 comandos tcpdump - uma ferramenta de sniffer de rede

Em nosso artigo anterior, vimos 20 comandos NetStat (NetStat agora substituído pelo comando SS) para monitorar ou gerenciar uma rede Linux. Esta é nossa outra série em andamento de ferramenta de sniffer de pacotes chamada tcpdump. Aqui, vamos mostrar como instalar tcpdump E então discutimos e cobrimos alguns comandos úteis com seus exemplos práticos.

Exemplos de comando linux tcpdump

tcpdump é um mais poderoso e amplamente usado pacotes de linha de comando sniffer ou ferramenta de analisador de pacotes, que é usada para capturar ou filtrar TCP/IP pacotes que são recebidos ou transferidos por uma rede em uma interface específica.

[Você também pode gostar: 16 ferramentas úteis de monitoramento de largura de banda para analisar o uso da rede no Linux]

Está disponível sob a maior parte do Linux/UNIX sistemas operacionais. O TCPDUMP também nos oferece a opção de salvar pacotes capturados em um arquivo para análise futura. Salva o arquivo em um PCAP Formato, que pode ser visualizado pelo comando tcpdump ou uma ferramenta baseada em GUI de código aberto chamado Wireshark (analisador de protocolo de rede) que lê o tcpdump PCAP Arquivos de formato.

Como instalar o tcpdump no Linux

Muitas distribuições Linux já enviadas com o tcpdump ferramenta, se você não a tiver em um sistema, poderá instalá -lo usando um dos seguintes comandos.

$ sudo apt-get install tcpdump [on Debian, Ubuntu e Mint] $ sudo yum install tcpdump [on RHEL/CENTOS/FEDORA e Rocky Linux/Almalinux] $ sudo emerge -a sys -apps/tcpdump [em Gentoo Linux] $ sudo pacman -s tcpdump [em Arch Linux] $ sudo zypper install tcpdump [on OpenSuse] 

Introdução aos exemplos de comando tcpdump

Uma vez o tcpdump A ferramenta está instalada no seu sistema, você pode continuar navegando pelos seguintes comandos com seus exemplos.

1. Capture pacotes de interface específica

A tela de comando rolará para cima até você interromper e quando executarmos o tcpdump comando que ele captura de todas as interfaces, no entanto com -eu Switch Somente captura da interface desejada.

# tcpdump -i eth0 tcpdump: saída detalhada suprimida, use -v ou -vv para protocolo completo decodificar ouvir no eth0, link -tipo en10mb (ethernet), captura tamanho 65535 bytes 11:33:31.976358 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.].976603 IP 172.16.25.125.APWI-RXSPOOLER> 172.16.25.126.ssh: bandeiras [.], ACK 196, Win 64487, comprimento 0 11:33:31.977243 ARP, Solicite Who-Has Tecmint.com contar 172.16.25.126, comprimento 28 11:33:31.977359 ARP, Responder Tecmint.com IS-AT 00: 14: 5e: 67: 26: 1d (oui desconhecido), comprimento 46 11:33:31.977367 IP 172.16.25.126.54807> Tecmint.com: 4240+ PTR? 125.25.16.172.In-Addr.ARPA. (44) 11:33:31.977599 IP Tecmint.com> 172.16.25.126.54807: 4240 nxDomain 0/0/0 (121) 11:33:31.977742 IP 172.16.25.126.44519> Tecmint.com: 40988+ PTR? 126.25.16.172.In-Addr.ARPA. (44) 11:33:32.028747 IP 172.16.20.33.NETBIOS-NS> 172.16.31.255.NetBIOS-NS: NBT UDP Packet (137): Query; SOLICITAR; Transmissão 11:33:32.112045 IP 172.16.21.153.NETBIOS-NS> 172.16.31.255.NetBIOS-NS: NBT UDP Packet (137): Query; SOLICITAR; Transmissão 11:33:32.115606 IP 172.16.21.144.NETBIOS-NS> 172.16.31.255.NetBIOS-NS: NBT UDP Packet (137): Query; SOLICITAR; Transmissão 11:33:32.156576 ARP, Solicite Who-Has 172.16.16.37 Diga ao oráculo antigoHP1.Midcorp.meio dia.com, comprimento 46 11:33:32.348738 IP Tecmint.com> 172.16.25.126.44519: 40988 NXDOMAIN 0/05/0 (121)

2. Capture apenas n número de pacotes

Quando você executa o tcpdump comando, ele capturará todos os pacotes para a interface especificada, até que você bater o botão cancelar. Mas usando -c opção, você pode capturar um número especificado de pacotes. O exemplo abaixo só captura 6 pacotes.

# tcpdump -c 5 -i eth0 tcpdump: saída detalhada suprimida, use -v ou -vv para protocolo completo decodificar ouvir no eth0, link -tipo en10MB (Ethernet), captura tamanho 65535 bytes 11:40:20.281355 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.].281586 IP 172.16.25.125.APWI-RXSPOOLER> 172.16.25.126.ssh: bandeiras [.], ACK 196, Win 65235, comprimento 0 11:40:20.282244 ARP, Solicite Who-Has Tecmint.com contar 172.16.25.126, comprimento 28 11:40:20.282360 ARP, Responder Tecmint.com IS-AT 00: 14: 5e: 67: 26: 1d (oui desconhecido), comprimento 46 11:40:20.282369 IP 172.16.25.126.53216> Tecmint.com.Domínio: 49504+ PTR? 125.25.16.172.In-Addr.ARPA. (44) 11:40:20.332494 IP Tecmint.com.Netbios-SSN> 172.16.26.17.nimaux: bandeiras [p.] 6 pacotes capturados 23 pacotes recebidos por filtro 0 pacotes descartados pelo kernel

3. Imprimir pacotes capturados em ASCII

O abaixo tcpdump comando com a opção -A exibe o pacote em ASCII formatar. É um formato de esquema de codificação de caráter.

# tcpdump -a -i eth0 tcpdump: saída detalhada suprimida, use -v ou -vv para protocolo completo decodificar ouvir no eth0, link -tipo en10MB (Ethernet), captura tamanho 65535 bytes 09:31:31.347508 IP 192.168.0.2.SSH> 192.168.0.1.Nokia-Ann-Ch1: Flags [P.], SEQ 3329372346: 3329372542, ACK 4193416789, vitória 17688, comprimento 196 m.R0… VUP.E.X… ~.%…> N… ofk… kq…) eq.d.,… R^l… m \ [email protegido] _… j… eu.*… 2f.MQH… q.C… 6… 9.v.GB…;… 4.).Uicy]… 9… x.)… Z.Xf… '|… e… m… u.5… ul 09:31:31.347760 IP 192.168.0.1.Nokia-Ann-Ch1> 192.168.0.2.ssh: bandeiras [.], ACK 196, Win 64351, comprimento 0 m… vu.r1 ~ p… ​​_… ^c09: 31: 31.349560 IP 192.168.0.2.46393> b.resolvedores.Nível 3.líquido.Domínio: 11148+ PTR? 1.0.168.192.In-Addr.ARPA. (42) [email protegido]@… 9.5.2.f+… 1.0.168.192.In-Addr.ARPA… 3 pacotes capturados 11 pacotes recebidos por filtro 0 pacotes descartados pelo kernel

4. Exibir interfaces disponíveis

Para listar o número de interfaces disponíveis no sistema, execute o seguinte comando com -D opção.

# tcpdump -d 1.eth0 2.Eth1 3.USBMON1 (USB BUS NUMBER 1) 4.USBMON2 (USB BUS NUMBER 2) 5.USBMON3 (USB BUS NUMBER 3) 6.USBMON4 (USB BUS NUMBER 4) 7.USBMON5 (USB BUS NUMBER 5) 8.Qualquer (pseudo-dispositivo que captura em todas as interfaces) 9.lo

5. Exibição pacotes capturados em hexadecimal e ascii

O seguinte comando com opção -Xx capturar os dados de cada pacote, incluindo o cabeçalho do nível do link em Hexadecimal e ASCII formatar.

# tcpdump -xx -i eth0 11:51:18.974360 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.].W… l… h… e. 0x0010: 00EC 8783 4000 4006 275D AC10 197E AC10 [email protegido]@.']… ~… 0x0020: 197D 0016 1129 D12A AF51 D9B6 D5EE 5018 .…).*.Q… p. 0x0030: 4948 8BFA 0000 0E12 EA4D 22D1 67C0 F123 IH… M ".G… # 0x0040: 9013 8f68 AA70 29F3 2EFC C512 5660 4FE8… H.p)… v'o. 0x0050: 590A D631 F939 DD06 E36A 69ED CAC2 95B6 Y… 1.9… ji… 0x0060: f8ba b42a 344b 8e56 a5c4 b3a2 ed82 c3a1… *4k.V… 0x0070: 80c8 7980 11ac 9bd7 5b01 18d5 8180 4536… y… [… e6 0x0080: 30FD 4F6D 4190 F66F 2E24 E877 ED23 8EB0 0.OMA… o.$.c.#… 0x0090: 5a1d f3ec 4be4 e0fb 8553 7c85 17d9 866f z… k… s |… o 0x00a0: c279 0d9c 8f9d 445b 7b01 81eb 1b63 7f12 .y… d [… c… 0x00B0: 71B3 1357 52C7 CF00 95C6 C9F6 63B1 CA51 Q… WR… C… q 0x00C0: 0AC6 456E 0620 38E6 10CB 6139 FB2A A756… EN… 8… A9… A9… A9.*.V 0x00d0: 37d6 c5f3 f5f3 d8e8 3316 d14f d7ab fd93 7… 3… o… 0x00E0: 1137 61c1 6a5c b4d1 ddda 380a f782 d983 .7a.J \… 8… 0x00f0: 62ff a5a9 bb39 4f80 668a b… 9o.f. 11:51:18.974759 IP 172.16.25.126.60952> MDDC-01.Midcorp.meio dia.com.Domínio: 14620+ PTR? 125.25.16.172.In-Addr.ARPA. (44) 0x0000: 0014 5e67 261d 0001 6c99 1468 0800 4500… ^g &… l… h… e. 0x0010: 0048 5A83 4000 4011 5E25 AC10 197E AC10 [Email Protected]@.^%… ~… 0x0020: 105E EE18 0035 0034 8242 391C 0100 0001 .^… 5.4.B9… 0x0030: 0000 0000 0000 0331 3235 0232 3502 3136… 125.25.16 0x0040: 0331 3732 0769 6e2d 6164 6472 0461 7270 .172.In-Addr.ARP 0x0050: 6100 000c 0001 a… 

6. Capture e salve pacotes em um arquivo

Como dissemos, isso tcpdump tem um recurso para capturar e salvar o arquivo em um .PCAP formato, para fazer isso, basta executar o comando com -c opção.

# tcpdump -w 0001.PCAP -I ETH0 TCPDUMP: Ouvindo ETH0, Link-Type EN10MB (Ethernet), Capture Tamanho 65535 Bytes 4 pacotes capturados 4 pacotes recebidos por filtro 0 pacotes descartados pelo kernel

7. Leia o arquivo de pacotes capturados

Para ler e analisar o pacote capturado 0001.PCAP arquivo Use o comando com -r opção, como mostrado abaixo.

# tcpdump -r 0001.PCAP Lendo do arquivo 0001.PCAP, Link-Type En10MB (Ethernet) 09:59:34.839117 IP 192.168.0.2.SSH> 192.168.0.1.Nokia-Ann-Ch1: Flags [P.].963022 IP 192.168.0.1.Nokia-Ann-Ch1> 192.168.0.2.ssh: bandeiras [.], ACK 132, Win 65351, comprimento 0 09:59:36.935309 IP 192.168.0.1.NetBIOS-DGM> 192.168.0.255.NetBIOS-DGM: NBT UDP Packet (138) 09:59:37.528731 IP 192.168.0.1.Nokia-Ann-Ch1> 192.168.0.2.ssh: sinalizadores [p.], seq 1:53, ACK 132, Win 65351, comprimento 5

8. Capturar pacotes de endereço IP

Para capturar pacotes para uma interface específica, execute o seguinte comando com opção -n.

# tcpdump -n -i eth0 TCPDUMP: Saída verbosa suprimida, use -v ou -vv para protocolo completo decodificar ouvir no eth0, link -tipo en10MB (Ethernet), captura tamanho 65535 bytes 12:07:03.952358 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], SEQ 3509512873: 3509513069, ACK 3652639034, vitória 18760, comprimento 196 12:07:03.952602 IP 172.16.25.125.APWI-RXSPOOLER> 172.16.25.126.ssh: bandeiras [.], ACK 196, Win 64171, comprimento 0 12:07:03.953311 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], Seq 196: 504, ACK 1, Win 18760, comprimento 308 12:07:03.954288 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], Seq 504: 668, ACK 1, vitória 18760, comprimento 164 12:07:03.954502 IP 172.16.25.125.APWI-RXSPOOLER> 172.16.25.126.ssh: bandeiras [.], ACK 668, Win 65535, comprimento 0 12:07:03.955298 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], Seq 668: 944, ACK 1, vitória 18760, comprimento 276 12:07:03.955425 IP 172.16.23.16.NETBIOS-NS> 172.16.31.255.NetBIOS-NS: NBT UDP Packet (137): Registro; SOLICITAR; Transmissão 12:07:03.956299 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], Seq 944: 1236, ACK 1, Win 18760, comprimento 292 12:07:03.956535 IP 172.16.25.125.APWI-RXSPOOLER> 172.16.25.126.ssh: bandeiras [.], ACK 1236, Win 64967, comprimento 0

9. Capture apenas pacotes TCP.

Para capturar pacotes com base em TCP porta, execute o seguinte comando com opção TCP.

# tcpdump -i eth0 tcp TCPDUMP: Saída detalhada suprimida, use -v ou -vv para protocolo completo decodificar ouvir no eth0, link -tipo en10MB (Ethernet), captura tamanho 65535 bytes 12:10:36.216358 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], SEQ 3509646029: 3509646225, ACK 3652640142, vitória 18760, comprimento 196 12:10:36.216592 IP 172.16.25.125.APWI-RXSPOOLER> 172.16.25.126.ssh: bandeiras [.], ACK 196, Win 64687, comprimento 0 12:10:36.219069 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], Seq 196: 504, ACK 1, Win 18760, comprimento 308 12:10:36.220039 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], Seq 504: 668, ACK 1, Win 18760, comprimento 164 12:10:36.220260 IP 172.16.25.125.APWI-RXSPOOLER> 172.16.25.126.ssh: bandeiras [.], ACK 668, Win 64215, comprimento 0 12:10:36.222045 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], Seq 668: 944, ACK 1, vitória 18760, comprimento 276 12:10:36.223036 IP 172.16.25.126.SSH> 172.16.25.125.APWI-RXSPOOLER: Flags [P.], Seq 944: 1108, ACK 1, Win 18760, comprimento 164 12:10:36.223252 IP 172.16.25.125.APWI-RXSPOOLER> 172.16.25.126.ssh: bandeiras [.], ACK 1108, Win 65535, comprimento 0 ^C12: 10: 36.223461 IP Mid-Pay.Midcorp.meio dia.com.Netbios-SSN> 172.16.22.183.Receita: bandeiras [.], SEQ 283256512: 283256513, ACK 550465221, Win 65531, comprimento 1 [|

10. Capture pacote de porta específica

Digamos que você queira capturar pacotes para a porta específica 22, execute o comando abaixo, especificando o número da porta 22 como mostrado abaixo.

# tcpdump -i eth0 porta 22 tcpdump: saída detalhada suprimida, use -v ou -vv para protocolo completo decodificar ouvir no eth0, link -tipo en10mb (ethernet), captura tamanho 65535 bytes 10:37:49.056927 IP 192.168.0.2.SSH> 192.168.0.1.Nokia-Ann-Ch1: Flags [P.].196436 IP 192.168.0.2.SSH> 192.168.0.1.Nokia-Ann-Ch1: Flags [P.], SEQ 4294967244: 196, ACK 1, vitória 20904, comprimento 248 10:37:49.196615 IP 192.168.0.1.Nokia-Ann-Ch1> 192.168.0.2.ssh: bandeiras [.], ACK 196, Win 64491, comprimento 0 10:37:49.379298 IP 192.168.0.2.SSH> 192.168.0.1.Nokia-Ann-Ch1: Flags [P.], Seq 196: 616, ACK 1, Win 20904, comprimento 420 10:37:49.381080 IP 192.168.0.2.SSH> 192.168.0.1.Nokia-Ann-Ch1: Flags [P.], Seq 616: 780, ACK 1, Win 20904, comprimento 164 10:37:49.381322 IP 192.168.0.1.Nokia-Ann-Ch1> 192.168.0.2.ssh: bandeiras [.], ACK 780, WIN 65535, comprimento 0

11. Capture pacotes de IP de origem

Para capturar pacotes da fonte IP, diga que você quer capturar pacotes para 192.168.0.2, Use o comando como segue.

# tcpdump -i eth0 src 192.168.0.2 tcpdump: saída detalhada suprimida, use -v ou -vv para protocolo completo decodificar ouvir no eth0, link -tipo en10mb (ethernet), captura tamanho 65535 bytes 10:49:15.746474 IP 192.168.0.2.SSH> 192.168.0.1.Nokia-Ann-Ch1: Flags [P.].748554 IP 192.168.0.2.56200> b.resolvedores.Nível 3.líquido.Domínio: 11289+ PTR? 1.0.168.192.In-Addr.ARPA. (42) 10:49:15.912165 IP 192.168.0.2.56234> b.resolvedores.Nível 3.líquido.Domínio: 53106+ PTR? 2.0.168.192.In-Addr.ARPA. (42) 10:49:16.074720 IP 192.168.0.2.33961> b.resolvedores.Nível 3.líquido.Domínio: 38447+ PTR? 2.2.2.4.In-Addr.ARPA. (38)

12. Capture pacotes de IP de destino

Para capturar pacotes do destino IP, diga que você quer capturar pacotes para 50.116.66.139, Use o comando como segue.

# tcpdump -i eth0 dst 50.116.66.139 TCPDUMP: Saída detalhada suprimida, use -v ou -vv para protocolo completo decodificar ouvir no eth0, link -tipo En10MB (Ethernet), captura tamanho 65535 bytes 10:55:01.798591 IP 192.168.0.2.59896> 50.116.66.139.http: sinalizadores [.].527476 IP 192.168.0.2.59894> 50.116.66.139.http: sinalizadores [f.].626027 IP 192.168.0.2.59894> 50.116.66.139.http: sinalizadores [.], ACK 2, Win 245, Opções [NOP, NOP, TS VAL 7959537 ECR 804759787], comprimento 0

Este artigo pode ajudá -lo a explorar o tcpdump comando em profundidade e também para capturar e analisar pacotes no futuro. Existem várias opções disponíveis, você pode usar as opções de acordo com o seu requisito. Compartilhe se você achar este artigo útil através de nossa caixa de comentários.