Chris Sanders
Copyright © 2017 by Chris Sanders. Title of English-language original: Practical Packet Analysis, 3rd Edition: Using Wireshark to Solve Real-World Network Problems, ISBN 978-1-59327-802-1, published by No Starch Press. Portuguese-language edition copyright © 2017 by Novatec Editora Ltda. All rights reserved.
Copyright © 2017 por Chris Sanders. Título original em Inglês: Practical Packet Analysis, 3rd Edi-tion: Using Wireshark to Solve Real-World Network Problems, ISBN 978-1-59327-802-1, publicado pela No Starch Press. Edição em Português copyright © 2017 pela Novatec Editora Ltda. Todos os direitos reservados.
© Novatec Editora Ltda. 2017.
Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.
Editor: Rubens Prates MP20170608
Tradução: Lúcia A. Kinoshita
Revisão gramatical: Priscila A. Yoshimatsu Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-587-5
Histórico de impressões:
Junho/2017 Primeira edição Novatec Editora Ltda.
Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 E-mail: novatec@novatec.com.br Site: novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec
7
SUMÁRIO
Agradecimentos ...15
Introdução ...16
Por que escolher este livro? ... 16
Conceitos e abordagem ... 17
Como usar este livro ...20
Sobre os exemplos de arquivos de captura ...20
Rural Technology Fund (em inglês) ...20
Como entrar em contato comigo (em inglês) ...21
1 Básico sobre análise de pacotes e redes ...22
Análise de pacotes e sniffers de pacotes ... 23
Avaliando um sniffer de pacotes ... 23
Como os sniffers de pacote funcionam ... 25
Como os computadores se comunicam ... 25
Protocolos ... 25
O modelo OSI de sete camadas ...26
Hardware de rede ... 34 Classificações do tráfego ... 39 Tráfego de broadcast... 39 Tráfego multicast ...41 Tráfego unicast ...41 Considerações finais ...41
2 Escutando uma transmissão ...42
Vivendo promiscuamente ...43
Sniffing nos hubs ...44
Análise de pacotes na prática 8
Espelhamento de porta ... 47
Hubbing out ... 49
Usando um tap ...51
Envenenamento de cache ARP ...54
Sniffing em um ambiente roteado ...60
Posicionamento do sniffer na prática ... 62
3 Introdução ao Wireshark ...64
Uma breve história do Wireshark ...64
As vantagens do Wireshark ...65
Instalando o Wireshark ...66
Instalando em sistemas Windows ... 67
Instalando em sistemas Linux... 69
Instalando em sistemas OS X ...71
Básico sobre o Wireshark ... 72
Sua primeira captura de pacotes ... 72
A janela principal do Wireshark ... 73
Preferências do Wireshark ... 75
Código de cores para os pacotes ...77
Arquivos de configuração ... 79
Perfis de configuração ...80
4 Trabalhando com pacotes capturados ...83
Trabalhando com arquivos de captura...83
Salvando e exportando arquivos de captura ...83
Combinando arquivos de captura ... 85
Trabalhando com pacotes ...86
Encontrando pacotes ...86
Marcando pacotes ...88
Imprimindo pacotes ...88
Configurando formatos de exibição de horários e referências ...89
Formatos de exibição de horários ...89
Pacote como referência de tempo ...91
Deslocamento de tempo ... 92
Configurando opções de captura ...92
A aba Input ... 93
Aba Output ...94
Aba Options ...95
9 Sumário
Filtros de captura ...98
Filtros de exibição ... 105
Salvando filtros ... 109
Adicionando filtros de exibição em uma barra de ferramentas ...110
5 Recursos avançados do Wireshark ... 112
Endpoints e conversas na rede ... 112
Visualizando estatísticas dos endpoints ... 113
Visualizando conversas na rede ...115
Identificando os top talkers com as janelas Endpoints e Conversations ...116
Estatísticas da hierarquia de protocolos ... 119
Resolução de nomes ... 120
Ativando a resolução de nomes ... 120
Possíveis desvantagens da resolução de nomes ...122
Usando um arquivo hosts personalizado ...123
Resolução de nomes iniciada manualmente ...125
Dissecação de protocolos ...125
Alterando o dissecador ...125
Visualizando o código-fonte dos dissecadores ... 128
Seguindo streams ... 129
Seguindo streams SSL ... 130
Tamanhos dos pacotes ...132
Gráficos ...133
Visualizando gráficos de ES ...133
Gráficos de tempos de ida e volta ...137
Gráfico de fluxos ... 138
Informações especializadas ...139
6 Análise de pacotes na linha de comando ... 142
Instalando o TShark ...143
Instalando o tcpdump ... 144
Capturando e salvando pacotes ...145
Manipulando a saída ...149
Resolução de nomes ...152
Aplicando filtros ... 154
Formatos de exibição de horários no TShark ... 156
Estatísticas resumidas no TShark ...157
Análise de pacotes na prática 10
7 Protocolos da camada de rede ... 162
ARP (Address Resolution Protocol, ou Protocolo de Resolução de Endereços) ... 163
Estrutura do pacote ARP ... 165
Pacote 1: requisição ARP ... 166
Pacote 2: resposta ARP ...167
ARP gratuito ... 168
IP (Internet Protocol, ou Protocolo de Internet) ... 169
IPv4 (Internet Protocol version 4, ou Protocolo de Internet versão 4) ... 169
IPv6 (Internet Protocol version 6, ou Protocolo de Internet versão 6) ...178
ICMP (Internet Control Message Protocol, ou Protocolo de Mensagens de Controle da Internet) ... 191
Estrutura do pacote ICMP ...192
Tipos e mensagens ICMP ...192
Requisições e respostas de eco ...193
traceroute ... 196
ICMPv6 (ICMP version 6, ou ICMP versão 6) ... 199
8 Protocolos da camada de transporte ... 200
TCP (Transmission Control Protocol, ou Protocolo de Controle de Transmissão) ... 200
Estrutura do pacote TCP ...201
Portas TCP ... 202
O handshake de três vias do TCP ... 205
Desconexão TCP ... 208
Resets TCP ... 209
UDP (User Datagram Protocol, ou Protocolo de Datagrama de Usuários) ...210
Estrutura do pacote UDP ... 211
9 Protocolos comuns da camada superior... 213
DHCP (Dynamic Host Configuration Protocol, ou Protocolo de Configuração Dinâmica de Hosts) ...213
Estrutura do pacote DHCP ...214
Processo de inicialização do DHCP ...215
Renovação DHCP in-lease ...221
Opções e tipos de mensagem DHCP ... 222
DHCPv6 (DHCP version 6, ou DHCP versão 6) ... 223
DNS (Domain Name System, ou Sistema de Nomes de Domínio)... 225
Estrutura do pacote DNS ... 225
11 Sumário
Tipos de pergunta DNS ... 229
Recursão DNS ... 229
Transferências de zona DNS ... 233
HTTP (Hypertext Transfer Protocol, ou Protocolo de Transferência de Hipertexto) ... 236
Navegando com o HTTP ...237
Postando dados com HTTP ... 239
SMTP (Simple Mail Transfer Protocol, ou Protocolo Simples de Transferência de Correio) ..241
Enviando e recebendo emails ... 242
Acompanhando uma mensagem de email ... 243
Enviando anexos via SMTP...252
Considerações finais ... 254
10 Cenários básicos no mundo real ... 255
Conteúdo web faltando ... 256
Escutando a transmissão ... 257
Análise ... 257
Lições aprendidas ... 262
Serviço de meteorologia que não responde ... 262
Escutando a transmissão ... 263
Análise ... 264
Lições aprendidas ...268
Sem acesso à internet ...268
Problemas de configuração de gateway ...268
Redirecionamento indesejado ... 272 Problemas de upstream ... 276 Impressora inconsistente ... 279 Escutando a transmissão ... 279 Análise ... 280 Lições aprendidas ... 283
Sem conectividade com a filial ... 283
Escutando a transmissão ... 284
Análise ... 284
Lições aprendidas ... 287
Dados de software corrompidos ... 287
Escutando a transmissão ...288
Análise ...288
Lições aprendidas ... 292
Análise de pacotes na prática 12
11 Lutando contra uma rede lenta ... 293
Recursos de recuperação de erros do TCP ... 294
Retransmissões TCP ... 294
Confirmações duplicadas e retransmissões rápidas de TCP ... 298
Fluxo de controle do TCP ... 303
Ajustando o tamanho da janela ... 304
Interrompendo o fluxo de dados com uma notificação de janela zero ... 305
A janela TCP deslizante na prática ... 306
Aprendendo com pacotes de controle de erro e de fluxo do TCP ...310
Localizando a causa da alta latência ... 311
Comunicação normal ...312
Comunicações lentas: latência na transmissão ...312
Comunicações lentas: latência no cliente ... 314
Comunicações lentas: latência no servidor ... 314
Framework para localização de latência ...315
Base de referência para redes ...316
Base de referência para um local ... 317
Base de referência para hosts ...318
Base de referência para aplicações ...319
Observações adicionais sobre as bases de referência ... 320
Considerações finais ...321
12 Análise de pacotes visando à segurança ... 322
Reconhecimento ... 323
Scan SYN ...324
Fingerprinting do sistema operacional ... 329
Manipulação de tráfego ... 333
Envenenamento de cache ARP ... 333
Sequestro de sessão ... 339
Malware ... 343
Operação Aurora ... 343
Cavalo de Troia com acesso remoto ... 350
Kit de exploits e ransomware ... 358
Considerações finais ... 365
13 Análise de pacotes sem fio ... 366
Considerações físicas ...366
Sniffing de um canal de cada vez ... 367
13 Sumário
Detectando e analisando interferências em sinais ... 369
Modos das placas wireless ... 370
Sniffing de dados wireless no Windows ... 372
Configurando o AirPcap ... 372
Capturando tráfego com o AirPcap ...374
Sniffing de dados wireless no Linux ...375
Estrutura do pacote 802.11 ... 377
Adicionando colunas específicas para wireless no painel Packet List ... 379
Filtros específicos para wireless ... 380
Filtrando tráfego de um BSS ID específico ... 380
Filtrando tipos específicos de pacotes wireless ...381
Filtrando uma frequência específica ... 382
Salvando um perfil para wireless ... 383
Segurança em redes wireless ... 383
Autenticação WEP com sucesso ... 383
Autenticação WEP com falha ...386
Autenticação WPA com sucesso ...386
Autenticação WPA com falha ... 389
Considerações finais ... 390
A Leitura complementar ... 391
Ferramentas para análise de pacotes ...391
CloudShark ...391
WireEdit ... 392
Cain & Abel ... 393
Scapy ... 393 TraceWrangler ... 393 Tcpreplay ... 393 NetworkMiner ... 393 CapTipper ... 394 ngrep ... 395 libpcap ... 395 Npcap ... 396 hping ... 396 Python ... 396
Recursos para análise de pacotes ... 396
Página inicial do Wireshark ... 397
Curso online de análise de pacotes na prática ... 397
Curso de segurança Intrusion Detection In-Depth do SANS ... 397
Análise de pacotes na prática 14
Análise de tráfego de malware de Brad Duncan ... 398
Site da IANA ... 398
A série TCP/IP Illustrated de W. Richard Stevens ... 398
O livro The TCP/IP Guide ... 398
B Navegando pelos pacotes ... 399
Representação dos pacotes ... 399
Usando diagramas de pacote ... 402
Navegando por um pacote misterioso ... 405