Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Tutorial
NI Supported: Yes
Publish Date: Jan 5, 2010


Feedback


Yes No

Related Categories

Related Links - Developer Zone

Related Links - Products and Services

Começando com o Wireshark

0 ratings | 0.00 out of 5
Read in | Print | PDF

Conteúdo

  1. Introdução
  2. Instalando e Rodando o Wireshark
  3. Começando com o Wireshark
  4. Comunicação TCP entre Host e Target utilizando LabVIEW
  5. Resumo

 Introdução

O Wireshark é um poderoso e bem caracterizado analisador de pacotes.  Ele captura os pacotes e os decodifica em seus componentes para análise.  Embora o Wireshark esteja disponível para uso em ambos os sistemas UNIX e Windows, este guia foi baseado no uso em maquinas rodando  Microsoft Windows.

 

 Instalando e Rodando o Wireshark

  1. Navegue para http://www.wireshark.org/download.html e faça o dowload.
  2. Selecione a última versão do Wireshark para instalar.
  3. Uma vez que o download esteja complete, de duplo clique no arquivo setup para rodar a instalação.

http:/zone.ni.com/cms/images/devzone/tut/Setup.JPG


Figura 1: Wireshark Setup Wizard

 

  1. Uma vez que a instalação esteja complete, navegue para Iniciar » Todos os Programas » Wireshark » Wireshark para rodar a aplicação.

 

 Começando com o Wireshark

Uma vez instalado, o Wireshark pode ser utilizado para capturer pacotes que estão sendo enviados e recebidos através da rede.  Ele pode ser utilizado para capturar e analisar pacotes sendo enviados entre um PC host e qualquer controladora Real-Time como Compact Fieldpoint (cFP), Compact Vision System (CVS), Compact RIO (cRIO), Controladora PXI Real-Time para citar algumas. O Wireshark sera utilizado nesta aplicação para capturar pacotes que são enviados quando comunica com uma controladora cRIO. O hardware e software necessários para este guia são:

Hardware

  • Qualquer controladora cRIO
  • Cabo cross-over

Software

  • LabVIEW Development Software
  • LabVIEW Real-Time module
  • NI RIO driver

Capturando Pacotes

Para ver as diferentes configurações de captura, clique em Capture » Options. Todas as opções configuráveis estão agrupadas em funções diferentes.

http:/zone.ni.com/cms/images/devzone/tut/InterfaceCaptureScreen.JPG
[+] Amplie a Imagem

Figura 2: Caixa Capture Options

Capture

Selecione Capture packets in promiscuous mode se você quiser capturar tudo que sua máquina pode ver. Se você apenas quiser ver pacotes entrando e saindo da sua máquina, deixe esta opção desmarcada.

Limit each packet to permite você especificar, em bytes, quanto de cada pacote para especificar.  Isto é útil se estiver interessado apenas na informação do cabeçalho, e se quiser manter o tamanho dos arquivos menores.

Capture Filters

  • Use File: para salvar o pacote capturado em um arquivo específico.
  • Selecione Use multiple files se utilizar mais de um arquivo para salvar os pacotes.
  • Use Ring Buffer With para especificar o número de arquivos para utilizar para captura.


Em uma configuração de Buffer Circular, quando um arquivos está cheio, um novo começa. Quando o número especificado de arquivos estão todos cheios, a captura começa a sobre-escrever os arquivos em seqüência. Esta função é útil se você quer capturar continuamente mas não quer encher seu disco rígido.

Display Options

  • Selecione Update list of packets in real-time se você quiser ver a lista de pacotes conforme eles foram capturados.
  • Selecione Automatic Scrolling in live capture se você quiser uma lista rolante de pacotes.
  • Selecione Hide Capture Info Dialog se você quiser ver a caixa de diálogo de informação da captura.

Name Resolution

  • Selecione Enable MAC name Resolution para permitir o WIRESHARK traduzir os MAC addresses em nomes.
  • Selecione Enable network name Resolution para permitir o WIRESHARK traduzir os endereços da rede em nomes.
  • Selecione Enable transport name resolution para permitir o Wireshark traduzir os endereços de transporte em protocolos.

Vale ressaltar que habilitar name resolution pode retardar o WIRESHARK, aumentando assim o risco de perda de pacotes.

Para começar a capturar pacotes,

  1. Clique em Capture no menu e selecione Interfaces.
  2. Isto o levará a selecionar seu cartão de interface. Para esta aplicação, selecione sua placa LAN já que você estará a sua controladora cRIO utilizando um cabo cross-over.

http:/zone.ni.com/cms/images/devzone/tut/NetworkAnalyzerWindow.JPG
[+] Ampliar Imagem

Figura 3: Caixa de Opções Capture Interfaces

Quando você iniciar a captura, a janela de captura mostra os pacotes capturados.

http:/zone.ni.com/cms/images/devzone/tut/CaptureWindow.JPG
[+] Amplie a Imagem

Figura 4: Janela de Captura do Wireshark

Não há pacotes sendo transmitidos pela rede no momento, pois a controladora cRIO está desconectada do computador. Os passos seguintes guiaram você  através da configuração de sua controladora cRIO e análise dos pacotes sendo enviados através da rede.

  1. Certifique-se que seu PC host está configurado para IP estático.
  2. Ligue a controladora cRIO e alterne a chave IP Resest para reiniciar o endereço IP.
  3. Conecte a controladora cRIO ao PC host através de um cabo cross-over.
  4. Abra o Measurement & Automation eXplorer (MAX) navegando para Iniciar » Todos os Programas » National Instruments » Measurement and Automation.
  5. Expanda Remote Systems e certifique-se que você pode detector a controladora cRIO desconfigurada. 

    http:/zone.ni.com/cms/images/devzone/tut/MAXConfWindow.JPG
    [+] Amplie a Imagem

Figura 5:  janela de Configuração do MAX

O MAX envia pacotes UDP através da rede para detector dispositivos remotos, e isto pode ser visto na janela de captura do Wireshark.


http:/zone.ni.com/cms/images/devzone/tut/UDPScreen.JPG
[+] Amplie a Imagem

Figura 6: Janela de Captura do Wireshark

  1. Clique no botão Suggest Values  dentro da caixa IP Settings e entre um endereço IP para sua controladora.  

    http:/zone.ni.com/cms/images/devzone/tut/MAXAssignIP.JPG
    [+] Amplie a Imagem

Figura 7: Atribuição de Endereço IP no MAX

  1. Clique no botão Apply. Repare que a rede é consultada para certificar que não há outro sistema com o endereço IP de 192.168.0.12. Isto pode ser visto na janela de captura do Wireshark.

    http:/zone.ni.com/cms/images/devzone/tut/CaptureWhoIsIp.JPG
    [+] Amplie a Imagem

Figura 8: Janela de Captura do Wireshark mostrando Pacotes UDP

  1. Clique em Capture » Stop ou no botão Stop na barra de ferramentas para parar a captura de pacotes.  Você salva o log de captura navegando para File » Save.

Depois que você parar a captura, a janela de captura continua mostrando os pacotes capturados.  Você pode rolar através da lista para encontrar um pacote no qual está interessado e clicar nele para ver os detalhes.  O painel superior mostra uma lista de pacotes com tempos, endereços, protocolos e informação resumida.  O painel do meio mostra uma análise detalhada de todos os pacotes de protocolos em destaque, e o painel inferior mostra os dados brutos HEX e ASCII no pacote. Para ver um pacote em uma janela separada, clique em View » Show Packet in New Window.

Outra grande característica do Wireshark são os Filtros de Visualização que permitem que você especifique quais tipos de protocolo você quer ver na janela de captura. Clique em Analyze » Display Filters para abrir a caixa Display Filters.  Dê duplo clique em qualquer opção e a tela de abertura será filtrada adequadamente.

 

 Comunicação TCP entre Host e Target utilizando o LabVIEW

Esta seção do guia destina-se ao uso do Wireshark para analisar pacotes sendo enviados da controladora cRIO ao PC host utilizando protocolo TCP/IP. Os passos seguintes o guiará através da criação de um projeto LabVIEW e criação de toda a aplicação.

  1. Abra o LabVIEW 8.5 e crie um novo Projeto.
  2. Clique com o botão direito em Project e selecione New » Target and Devices …
  3. Selecione Existing target or device é selecionada abaixo de Targets and Devices e expanda Real-Time CompactRIO para encontrar sua controladora. Encontrada, clique OK para adicioná-la ao seu projeto. 

http:/zone.ni.com/cms/images/devzone/tut/ProjectTarget.JPG

Figura 9: Adicionando um target Real-Time a um projeto em LabVIEW

  1. Adicione Client.vi e Server.vi em My Computer e target compact RIO respectivamente. Estes Vis estão inclusos em wiresharktutorial.zip anexado abaixo. 



http:/zone.ni.com/cms/images/devzone/tut/ProjectItems.JPG

 

Figura 10: Configuração de um Projeto em LabVIEW

  1. Abra ambos os VIs, e entre o endereço IP do cRIO no controle Address no Painel Frontal do VI Client. Deixe todos os outros controles com valores padrão. 



http:/zone.ni.com/cms/images/devzone/tut/DataClient.JPG
[+] Amplie a Imagem

Figura 11: Painel Frontal do VI Client

  1. Rode o VI Server primeiro, depois o VI Client. este exemplo permite a você enviar dados da controladora CompactRIO (Servidor) para o PC Host (cliente) utilizando comunicação TCP/IP. O Wireshark pode mais uma vez ser usado para analisar os pacotes sendo enviados através da rede. 

http:/zone.ni.com/cms/images/devzone/tut/WiresharkTCPStream.JPG
[+] Amplie a Imagem 

Figura 12: Janela de Captura do Wireshark mostrando Pacotes TCP

  1. Clique com o botão direito em qualquer pacote na janela de captura e selecione Follow TCP Stream para controlar a informação que está sendo enviada.  Isto torna mais fácil acompanhar o tráfego entre dois pontos. 

http:/zone.ni.com/cms/images/devzone/tut/TCPStreamScreen.JPG
[+] Amplie a Imagem

Figura 13: Janela TCP Stream

  1. Para obter estatísticas gerais sobre o atual arquivo de captura, clique em Statistics » Summary. Isto da a você uma visão geral dos dados que são coletados.

http:/zone.ni.com/cms/images/devzone/tut/SummaryScreenDone.JPG

Figura 14: Janela Summary

 

 Resumo

O Wireshark é uma ferramenta ponderosa que pode ser utilizada de várias maneiras para analisar pacotes sendo enviados através de redes.  Ele oferece vários recursos para entender melhor a comunicação em rede entre targets remotos e PCs host.

Downloads

wiresharktutorial.zip

0 ratings | 0.00 out of 5
Read in | Print | PDF

Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).