SlideShare uma empresa Scribd logo
Ethernet Sniffer in
Visual Studio C#
BARRAMENTOS E PROGRAMAÇÃO DE ENTRADA E SAÍDA
PROFESSOR: IVAN MULLER
MAX JEISON PRASS
OSI – Camada de Enlace de
Dados
 Controle de Enlace Lógico (LLC)
 Networking Interface:
 Filtros de Drivers: NDIS (Network Driver Interface
Specification);
 Programação de aplicação de interface (API);
 Constitui a subcamada LLC (Controle de Acesso
Lógico);
 Representa a sub-camada superior da camada de
Ligação de Dados OSI (camada 2);
 Atua entre a sub-camada MAC (Media Access
Control), que é a sub-camada inferior da camada de
Ligação de Dados, e a camada de rede (camada 3);
Aplicação
Transporte
Protocolos Internet (TCP/IP)
Rede
Enlace
Física
HTTP, SMTP, FTP, POP3 ...
TCP, UDP, RTP ...
IP (IPv4, IPv6), ARP, RARP ...
Ethernet, WiFi, VLAN ...
Modem, USB, Bluetooth ...
Enlace
• Subcamada LLC
• Subcamada MAC
Apresentação TLS, XDR ...
Sessão NetBIOS ...
WDK – Windows Drivers Kit
 Para construção de drivers no windows é necessário o kit de desenvolvimento de
drivers da microsoft;
 Windows Development Drivers Kit (WDK ou DDK);
 Permite desenvolver, construir, implantar, testar e depurar drivers;
 USB, impressão, networking, filtros do sistema de arquivos (TODOS);
 Todos os arquivos (C e C++) necessários para geração dos drivers;
 Arquivos de exemplos;
 Utilitário para compilar;
 Utilitário para testar e depurar.
WDK – Versão atual 8.1
 Facilidade na compilação usando Visual Studio 2012 ou superior;
 Total integração com o ambiente de desenvolvimento Visual Studio (MSBuild.exe);
 Ou seja, arquivos Makefile.inc, Makefile.new e outros arquivos de compilação não
são mais usados;
 Nesta atualização:
 Microsoft Windows Assessment and Deployment Kit;
 Microsoft Windows Driver Kit
 Microsoft Windows Hardware Certification Kit
 Microsoft Windows Software Development Kit for Windows 8
WDF – Windows Driver Frameworks and
Visual Studio Projects
 Applications:
 Empty Desktop Application for Drivers
 Empty DLL for Drivers
 Empty Static Library for Drivers
 Package : Driver Install Package
 Applications : Desktop, DLL, Library
 Print : Driver V4, XPS Render Filter
 Storage : Filter Driver : Filesystem Mini-filter
 Tests : WDTF Simple I/O Action Plug-in, Windows Driver Test in C++
 USB : KMDF, UMDF, Win USB Application
 WDF : KMDF and UMDF Templates
WDF – Windows Driver Frameworks and
Visual Studio Projects
 Networking : NDIS – Network Driver Interface Specification
 É uma biblioteca de funções que oculta a complexidade de hardware da Placa de rede
(NICs);
 Serve como interface padrão para drivers de protocolo de rede, nível 3, e controladores
de nível MAC.
 Outra LLC é a Open Data-Link Interface (ODI).
WDK – Windows Driver Kit Samples
 Audio Processing Objects Driver Sample
 Bluetooth Serial HCI Bus Driver
 CDROM Storage Class Driver
 Driver Install Frameworks API (DIFxAPI) Sample
 Generic Text-Only Driver
 HID client sample driver
 Keyboard Input WDF Filter Driver (Kbfiltr)
 KMDF filter driver for a HID device
 NDIS 6.0 Filter Driver (ESTE PODERIA TER USADO)
 RAMDisk Storage Driver
 E vários outros....
C# - System.Net.Sockets;
 Surpresa!!! Socket é um API;
 Ser um socket puro, da família de endereços do tipo “redes” e protocolo “IP”;
 Como usar essa classe para sniffer:
 Estanciar ela com os parâmetros acima (Raw, InterNetWork, IP);
 Chamar o método Bind;
 Configurações através do método “SetSocketOption” :
 SocketOptionLevel : IP, IPV6, Socket, Tcp, Udp;
 SocketOptionName : HeaderIncluded, MulticastInterface, e outros vários;
 True ou False.
 IOControl :
 ReceiveAll, ReceiveAllMulticast, entre outros;
 BeginReceive :
 Passado a variável byte[4096];
 Método de recebimento Assincrono;
TCP/IP - Packets
 Pacote IP:
 VERSION (4 bits) - Informa a versão do protocolo IP sendo carregado. Atualmente a versão de IP é 4;
 HEADER LENGTH (4 Bytes) - Informa o tamanho do header IP em grupos de 4 bytes;
 TYPE OF SERVICE (1 Byte)- Informa como o pacote deve ser tratado, de acordo com sua prioridade e o tipo de serviço desejado como Baixo
Retardo, Alta Capacidade de Banda ou Alta Confiablilidade. Normalmente este campo não é utilizado na Internet;
 TOTAL LENGTH (2 Bytes) – Informa o tamanho total do pacote IP;
 IDENTIFICATION (2 Bytes) - Identifica o pacote IP unicamente entre os outros transmitidos pela máquina. Este campo é usado para identificar o
pacote IP no caso de haver fragmentação em múltiplos datagramas;
 FLAGS (3 bits) - um bit (MF - More Fragments) identifica se este datagrama é o último fragmento de um pacote IP ou se existem mais. Outro bit (DNF
- Do Not Fragment) informa aos roteadores no caminho se a aplicação exige que os pacotes não sejam fragmentados;
 FRAGMENT OFFSET (13 bits) - Informa o posicionamento do fragmento em relação ao pacote IP do qual faz parte;
 TIME-TO-LIVE (1 Byte) - Este valor é decrementado a cada 1 segundo que o pacote passa na rede e a cada roteador pelo qual ele passa. Serve
para limitar a duração do pacote IP e evitar que um pacote seja roteador eternamente na Internet como resultado de um loop de roteamento;
 PROTOCOL (1 Byte) - Informa que protocolo de mais alto-nível está sendo carregado no campo de dados. O IP pode carregar mensagens UDP,
TCP, ICMP, e várias outras;
 HEADER CHECKSUM (2 Bytes) - Valor que ajuda a garantir a integridade do cabeçalho do pacote IP;
 SOURCE ADDRESS (4 Bytes) - Endereço IP da máquina origem do pacote IP;
 DESTINATION ADDRESS (4 Bytes) - Endereço IP da máquina destino do pacote IP; (Alcança mais de 4 BILHÕES de endereços);
 OPTIONS (N Bytes)- Opções com informações adicionais para o protocolo IP. Consiste de um byte com a identificação da opção e uma
quantidade de bytes variável com as informações específicas. Um pacote IP pode transportar várias opções simultaneamente.
O que aprendi?
 Que para Sniffer nível Enlace é necessário driver para conseguir fazer;
 Que Socket é uma API nível de rede (IP);
 Que desenvolver driver é difícil paaaaakkkkkkass!!!!
 Mas legal! 
 2 livros pra ler:
 Windows Internals;
 Programming the Microsoft Windows Driver Model.
 Que é assim que se faz Engenharia reversa (KMDK e UMDK);
 Que para depurar drivers no windows... (Cataclash!!!!)
 Obs.: Me barraram!
 Mas... com a classe Socket, tudo pronto, Socket Raw uma beleza!!!
 Pude filtrar os pacotes recebidos e enviados na rede local, inclusive WiFi;
 Mas, não sei se poderia retransmitir os pacotes!!! (TESTAR)
Fontes de pesquisa:
 C/C++ : http://www.codeproject.com/Articles/17031/A-Network-Sniffer-in-C
 C# : http://www.codeproject.com/Articles/5292/Raw-Ethernet-Packet-
Sending
http://www.codeproject.com/Articles/17031/A-Network-Sniffer-in-C
 Link do projeto : https://bitbucket.org/jeisonmp/packet_sniffer
 Blog dev microsoft : http://www.1bit.com.br
 WDK Microsoft : https://msdn.microsoft.com/en-
us/library/windows/hardware/ff557573(v=vs.85).aspx
 Protocolos Visão Geral : https://pt.wikipedia.org/wiki/Modelo_OSI
 Camada de Enlace : https://pt.wikipedia.org/wiki/Camada_de_enlace_de_dados
 Camada de transporte : http://optclean.com.br/como-funciona-uma-rede-parte-4-ethernet-e-
pacotes/
 Protocolos Especificações : http://www.abusar.org.br/tcp-ip2.html

Mais conteúdo relacionado

Mais procurados

FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
Mauro Tapajós
 
Redes Avançadas - 2.IPv6
Redes Avançadas - 2.IPv6Redes Avançadas - 2.IPv6
Redes Avançadas - 2.IPv6Mauro Tapajós
 
Protocolos de aplicação
Protocolos de aplicaçãoProtocolos de aplicação
Protocolos de aplicação
Joel Saramago
 
Multimídia: Protocolos de transmissão de áudio e vídeo
Multimídia:  Protocolos de transmissão de áudio e vídeoMultimídia:  Protocolos de transmissão de áudio e vídeo
Multimídia: Protocolos de transmissão de áudio e vídeo
Fernando Costa
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - Protocolos
José Ronaldo Trajano
 
Aula1 protocolos
Aula1 protocolosAula1 protocolos
Aula1 protocolos
Marcos Cozatti
 
Redes De Computadores Internet
Redes De Computadores   InternetRedes De Computadores   Internet
Redes De Computadores Internet
Mario Bittencourt
 
Protocolos
ProtocolosProtocolos
Protocolos
Janieles Araujo
 
Serviços e protocolos
Serviços e protocolosServiços e protocolos
Serviços e protocolosDayane Sousa
 
Conceitos associado às redes
Conceitos associado às redesConceitos associado às redes
Conceitos associado às redes
Agrupamento de Escolas da Batalha
 
Principais protocolos da internet
Principais protocolos da internetPrincipais protocolos da internet
Principais protocolos da internet
Alessandro Fazenda
 
Aula2 protocolos
Aula2 protocolosAula2 protocolos
Aula2 protocolos
Marcos Cozatti
 
Protocolo IPv6
Protocolo IPv6Protocolo IPv6
Protocolo IPv6
Gustavo Adolfo Alencar
 
Diferenças entre IPV4 e IPV6
Diferenças entre IPV4 e IPV6Diferenças entre IPV4 e IPV6
Diferenças entre IPV4 e IPV6
José Alyson
 
Artigo ipv6
Artigo ipv6Artigo ipv6
Artigo ipv6
Clécio Oliveira
 
Samba, Squid, FTP, DHCP3
Samba, Squid, FTP, DHCP3Samba, Squid, FTP, DHCP3
Samba, Squid, FTP, DHCP3
SoftD Abreu
 

Mais procurados (20)

FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
 
Redes Avançadas - 2.IPv6
Redes Avançadas - 2.IPv6Redes Avançadas - 2.IPv6
Redes Avançadas - 2.IPv6
 
Protocolos de aplicação
Protocolos de aplicaçãoProtocolos de aplicação
Protocolos de aplicação
 
Multimídia: Protocolos de transmissão de áudio e vídeo
Multimídia:  Protocolos de transmissão de áudio e vídeoMultimídia:  Protocolos de transmissão de áudio e vídeo
Multimídia: Protocolos de transmissão de áudio e vídeo
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - Protocolos
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Aula1 protocolos
Aula1 protocolosAula1 protocolos
Aula1 protocolos
 
Redes De Computadores Internet
Redes De Computadores   InternetRedes De Computadores   Internet
Redes De Computadores Internet
 
Protocolos
ProtocolosProtocolos
Protocolos
 
Protocolos
ProtocolosProtocolos
Protocolos
 
Serviços e protocolos
Serviços e protocolosServiços e protocolos
Serviços e protocolos
 
Artigo IPv6
Artigo IPv6Artigo IPv6
Artigo IPv6
 
Skype
SkypeSkype
Skype
 
Conceitos associado às redes
Conceitos associado às redesConceitos associado às redes
Conceitos associado às redes
 
Principais protocolos da internet
Principais protocolos da internetPrincipais protocolos da internet
Principais protocolos da internet
 
Aula2 protocolos
Aula2 protocolosAula2 protocolos
Aula2 protocolos
 
Protocolo IPv6
Protocolo IPv6Protocolo IPv6
Protocolo IPv6
 
Diferenças entre IPV4 e IPV6
Diferenças entre IPV4 e IPV6Diferenças entre IPV4 e IPV6
Diferenças entre IPV4 e IPV6
 
Artigo ipv6
Artigo ipv6Artigo ipv6
Artigo ipv6
 
Samba, Squid, FTP, DHCP3
Samba, Squid, FTP, DHCP3Samba, Squid, FTP, DHCP3
Samba, Squid, FTP, DHCP3
 

Semelhante a Conceito Ethernet Sniffer em Visual Studio C#

Redes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPRedes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPMauro Tapajós
 
Redes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPRedes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPMauro Tapajós
 
Configuração de Drivers
Configuração de DriversConfiguração de Drivers
Configuração de DriversAVEVA
 
Redes - Camada de Inter-Redes
Redes - Camada de Inter-RedesRedes - Camada de Inter-Redes
Redes - Camada de Inter-Redes
Luiz Arthur
 
Apresentação - IT Specialist
Apresentação - IT SpecialistApresentação - IT Specialist
Apresentação - IT Specialist
Alan Carlos
 
Rede
Rede Rede
S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00doctorweb
 
Ipv6
Ipv6Ipv6
Acesso a área de trabalho remota
Acesso a área de trabalho remotaAcesso a área de trabalho remota
Acesso a área de trabalho remota
Rafael Requião
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
wolkartt_18
 
Gestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptxGestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptx
HJesusMiguel
 
Referencia de redes.pdf
Referencia de redes.pdfReferencia de redes.pdf
Referencia de redes.pdf
ProfTelmaLcia
 
Protocolos 2ªversão
Protocolos   2ªversãoProtocolos   2ªversão
Protocolos 2ªversãoGuimaraess
 
Protocolos OSI/TCP-IP
Protocolos OSI/TCP-IPProtocolos OSI/TCP-IP
Protocolos OSI/TCP-IPGuimaraess
 
Apostila sobre montagem de redes
Apostila sobre montagem de redesApostila sobre montagem de redes
Apostila sobre montagem de redesPaulo Mbanda
 
Mini curso redes_computadores
Mini curso redes_computadoresMini curso redes_computadores
Mini curso redes_computadoreselgi.elgi
 

Semelhante a Conceito Ethernet Sniffer em Visual Studio C# (20)

Redes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPRedes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IP
 
Redes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPRedes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IP
 
Configuração de Drivers
Configuração de DriversConfiguração de Drivers
Configuração de Drivers
 
Redes - Camada de Inter-Redes
Redes - Camada de Inter-RedesRedes - Camada de Inter-Redes
Redes - Camada de Inter-Redes
 
Apresentação - IT Specialist
Apresentação - IT SpecialistApresentação - IT Specialist
Apresentação - IT Specialist
 
Rede
Rede Rede
Rede
 
S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00
 
Curso de redes_cisco
Curso de redes_ciscoCurso de redes_cisco
Curso de redes_cisco
 
Ipv6
Ipv6Ipv6
Ipv6
 
Acesso a área de trabalho remota
Acesso a área de trabalho remotaAcesso a área de trabalho remota
Acesso a área de trabalho remota
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
 
Gestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptxGestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptx
 
Referencia de redes.pdf
Referencia de redes.pdfReferencia de redes.pdf
Referencia de redes.pdf
 
Protocolos 2ªversão
Protocolos   2ªversãoProtocolos   2ªversão
Protocolos 2ªversão
 
Protocolos OSI/TCP-IP
Protocolos OSI/TCP-IPProtocolos OSI/TCP-IP
Protocolos OSI/TCP-IP
 
Aula 6 infraestrutura - 04022012
Aula 6   infraestrutura - 04022012Aula 6   infraestrutura - 04022012
Aula 6 infraestrutura - 04022012
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Apostila sobre montagem de redes
Apostila sobre montagem de redesApostila sobre montagem de redes
Apostila sobre montagem de redes
 
Mini curso redes_computadores
Mini curso redes_computadoresMini curso redes_computadores
Mini curso redes_computadores
 
Tcp
TcpTcp
Tcp
 

Conceito Ethernet Sniffer em Visual Studio C#

  • 1. Ethernet Sniffer in Visual Studio C# BARRAMENTOS E PROGRAMAÇÃO DE ENTRADA E SAÍDA PROFESSOR: IVAN MULLER MAX JEISON PRASS
  • 2. OSI – Camada de Enlace de Dados  Controle de Enlace Lógico (LLC)  Networking Interface:  Filtros de Drivers: NDIS (Network Driver Interface Specification);  Programação de aplicação de interface (API);  Constitui a subcamada LLC (Controle de Acesso Lógico);  Representa a sub-camada superior da camada de Ligação de Dados OSI (camada 2);  Atua entre a sub-camada MAC (Media Access Control), que é a sub-camada inferior da camada de Ligação de Dados, e a camada de rede (camada 3); Aplicação Transporte Protocolos Internet (TCP/IP) Rede Enlace Física HTTP, SMTP, FTP, POP3 ... TCP, UDP, RTP ... IP (IPv4, IPv6), ARP, RARP ... Ethernet, WiFi, VLAN ... Modem, USB, Bluetooth ... Enlace • Subcamada LLC • Subcamada MAC Apresentação TLS, XDR ... Sessão NetBIOS ...
  • 3. WDK – Windows Drivers Kit  Para construção de drivers no windows é necessário o kit de desenvolvimento de drivers da microsoft;  Windows Development Drivers Kit (WDK ou DDK);  Permite desenvolver, construir, implantar, testar e depurar drivers;  USB, impressão, networking, filtros do sistema de arquivos (TODOS);  Todos os arquivos (C e C++) necessários para geração dos drivers;  Arquivos de exemplos;  Utilitário para compilar;  Utilitário para testar e depurar.
  • 4. WDK – Versão atual 8.1  Facilidade na compilação usando Visual Studio 2012 ou superior;  Total integração com o ambiente de desenvolvimento Visual Studio (MSBuild.exe);  Ou seja, arquivos Makefile.inc, Makefile.new e outros arquivos de compilação não são mais usados;  Nesta atualização:  Microsoft Windows Assessment and Deployment Kit;  Microsoft Windows Driver Kit  Microsoft Windows Hardware Certification Kit  Microsoft Windows Software Development Kit for Windows 8
  • 5. WDF – Windows Driver Frameworks and Visual Studio Projects  Applications:  Empty Desktop Application for Drivers  Empty DLL for Drivers  Empty Static Library for Drivers  Package : Driver Install Package  Applications : Desktop, DLL, Library  Print : Driver V4, XPS Render Filter  Storage : Filter Driver : Filesystem Mini-filter  Tests : WDTF Simple I/O Action Plug-in, Windows Driver Test in C++  USB : KMDF, UMDF, Win USB Application  WDF : KMDF and UMDF Templates
  • 6. WDF – Windows Driver Frameworks and Visual Studio Projects  Networking : NDIS – Network Driver Interface Specification  É uma biblioteca de funções que oculta a complexidade de hardware da Placa de rede (NICs);  Serve como interface padrão para drivers de protocolo de rede, nível 3, e controladores de nível MAC.  Outra LLC é a Open Data-Link Interface (ODI).
  • 7. WDK – Windows Driver Kit Samples  Audio Processing Objects Driver Sample  Bluetooth Serial HCI Bus Driver  CDROM Storage Class Driver  Driver Install Frameworks API (DIFxAPI) Sample  Generic Text-Only Driver  HID client sample driver  Keyboard Input WDF Filter Driver (Kbfiltr)  KMDF filter driver for a HID device  NDIS 6.0 Filter Driver (ESTE PODERIA TER USADO)  RAMDisk Storage Driver  E vários outros....
  • 8. C# - System.Net.Sockets;  Surpresa!!! Socket é um API;  Ser um socket puro, da família de endereços do tipo “redes” e protocolo “IP”;  Como usar essa classe para sniffer:  Estanciar ela com os parâmetros acima (Raw, InterNetWork, IP);  Chamar o método Bind;  Configurações através do método “SetSocketOption” :  SocketOptionLevel : IP, IPV6, Socket, Tcp, Udp;  SocketOptionName : HeaderIncluded, MulticastInterface, e outros vários;  True ou False.  IOControl :  ReceiveAll, ReceiveAllMulticast, entre outros;  BeginReceive :  Passado a variável byte[4096];  Método de recebimento Assincrono;
  • 9. TCP/IP - Packets  Pacote IP:  VERSION (4 bits) - Informa a versão do protocolo IP sendo carregado. Atualmente a versão de IP é 4;  HEADER LENGTH (4 Bytes) - Informa o tamanho do header IP em grupos de 4 bytes;  TYPE OF SERVICE (1 Byte)- Informa como o pacote deve ser tratado, de acordo com sua prioridade e o tipo de serviço desejado como Baixo Retardo, Alta Capacidade de Banda ou Alta Confiablilidade. Normalmente este campo não é utilizado na Internet;  TOTAL LENGTH (2 Bytes) – Informa o tamanho total do pacote IP;  IDENTIFICATION (2 Bytes) - Identifica o pacote IP unicamente entre os outros transmitidos pela máquina. Este campo é usado para identificar o pacote IP no caso de haver fragmentação em múltiplos datagramas;  FLAGS (3 bits) - um bit (MF - More Fragments) identifica se este datagrama é o último fragmento de um pacote IP ou se existem mais. Outro bit (DNF - Do Not Fragment) informa aos roteadores no caminho se a aplicação exige que os pacotes não sejam fragmentados;  FRAGMENT OFFSET (13 bits) - Informa o posicionamento do fragmento em relação ao pacote IP do qual faz parte;  TIME-TO-LIVE (1 Byte) - Este valor é decrementado a cada 1 segundo que o pacote passa na rede e a cada roteador pelo qual ele passa. Serve para limitar a duração do pacote IP e evitar que um pacote seja roteador eternamente na Internet como resultado de um loop de roteamento;  PROTOCOL (1 Byte) - Informa que protocolo de mais alto-nível está sendo carregado no campo de dados. O IP pode carregar mensagens UDP, TCP, ICMP, e várias outras;  HEADER CHECKSUM (2 Bytes) - Valor que ajuda a garantir a integridade do cabeçalho do pacote IP;  SOURCE ADDRESS (4 Bytes) - Endereço IP da máquina origem do pacote IP;  DESTINATION ADDRESS (4 Bytes) - Endereço IP da máquina destino do pacote IP; (Alcança mais de 4 BILHÕES de endereços);  OPTIONS (N Bytes)- Opções com informações adicionais para o protocolo IP. Consiste de um byte com a identificação da opção e uma quantidade de bytes variável com as informações específicas. Um pacote IP pode transportar várias opções simultaneamente.
  • 10. O que aprendi?  Que para Sniffer nível Enlace é necessário driver para conseguir fazer;  Que Socket é uma API nível de rede (IP);  Que desenvolver driver é difícil paaaaakkkkkkass!!!!  Mas legal!   2 livros pra ler:  Windows Internals;  Programming the Microsoft Windows Driver Model.  Que é assim que se faz Engenharia reversa (KMDK e UMDK);  Que para depurar drivers no windows... (Cataclash!!!!)  Obs.: Me barraram!  Mas... com a classe Socket, tudo pronto, Socket Raw uma beleza!!!  Pude filtrar os pacotes recebidos e enviados na rede local, inclusive WiFi;  Mas, não sei se poderia retransmitir os pacotes!!! (TESTAR)
  • 11. Fontes de pesquisa:  C/C++ : http://www.codeproject.com/Articles/17031/A-Network-Sniffer-in-C  C# : http://www.codeproject.com/Articles/5292/Raw-Ethernet-Packet- Sending http://www.codeproject.com/Articles/17031/A-Network-Sniffer-in-C  Link do projeto : https://bitbucket.org/jeisonmp/packet_sniffer  Blog dev microsoft : http://www.1bit.com.br  WDK Microsoft : https://msdn.microsoft.com/en- us/library/windows/hardware/ff557573(v=vs.85).aspx  Protocolos Visão Geral : https://pt.wikipedia.org/wiki/Modelo_OSI  Camada de Enlace : https://pt.wikipedia.org/wiki/Camada_de_enlace_de_dados  Camada de transporte : http://optclean.com.br/como-funciona-uma-rede-parte-4-ethernet-e- pacotes/  Protocolos Especificações : http://www.abusar.org.br/tcp-ip2.html