Home

FTT-SE: Desenvolvimento de um dissector para um protocolo de

image

Contents

1. Cap tulo 4 Desenvolvimento de um dissector como plug in 4 1 Introdu o O Wireshark software open source distribu do sob a licen a General Pu blic License GPL Neste documento n o irei descrever os mecanismos de compila o e empacotamento dos dissectors do Wireshark 4 2 Pr requisitos Para desenvolvermos um dissector temos de obter o c digo fonte do Wi reshark na vers o developer E tamb m recomend vel que se obtenha tam b m os documentos Wireshark Developer s guide e Wireshark User s guide Antes de podermos modificar ou adicionar dissectors ao Wireshark temos de der capazes de compilar a aplica o apartir do c digo fonte Para com pilarmos do c digo fonte precisamos de ferramentas adicionais que podem n o estar inclu das por defeito no sistema em que pretendemos desenvolver o dissector As instru es de instala o do Wireshark est o bem descritas no ficheiro INSTALL no direct rio raiz do c digo fonte do Wireshark A maior parte do c digo do Wireshark que nos interessa est escrito em ANSI utilizado ANSI C devido necessidade de portabilidade do c digo entre os m ltiplos sistemas operativos em que Wireshark funciona Quando estivermos a escrever em C temos de ter em especial aten o em usar apenas fun es que estejam dispon veis nos v rios sistemas operativos 1 American National Standards Institute C 16 Desenvolvimento de um dissector como plug in 4 3 Recursos Para po
2. 2004 4 P Pedreiras P Gai L Almeida and G C Buttazzo Ftt ethernet A flexible real time communication protocol that supports dynamic qos management on ethernet based systems IEEE Transactions on Industrial Informatics vol vol 1 n 3 pp 162 Ago 2005 5 A Orebaugh G Ramirez J Burke and L Pesce Wireshark amp Ethereal Network Protocol Analyzer Toolkit Jay Beale s Open Source Security Syn gress Publishing 2006 6 U Lamping and E Sharpe Richard Warnicke Wireshark User s Guide 29805 for Wireshark 1 2 0 2008 7 U Lamping Wireshark Developer s Guide 29805 for Wireshark 1 2 0 2008
3. 7 2 Fun o proto reg handoff Esta fun o regista no Wireshark o ponto de entrada quando se detecta uma mensagem do protocolo fun o dissect ftt bem como o elemento que despoleta o dissector o campo type do protocolo Ethernet ser igual a Ox8FFO tambem registada a fun o ftt init routine que execu tada sempre que se inicia uma nova captura 7 3 Fun o ftt init routine 7 3 Fun o ftt init routine Esa fun o chamada sempre que se inicia uma nova captura Esta res pons vel por definir os valores iniciais de vari veis de estado e alocar o array de estruturas que v o armazenar as informa es de cada EC 7 4 Fun o dissect ftt Esta fun o chamada sempre que o Wireshark detecta uma mensagem com o ethertype igual a Ox8FFO esta tem acesso s estruturas tub e pinfo ja anteriormente descritas e que cont m toda a informa o necess ria analise do protocolo A fun o come a por colocar informa es na janela summary o FTT ETH na coluna Protocol asseguir coloca informa o sobre o tipo de men sagem na coluna Info O pr ximo passo colocar informa o na janela Protocol tree portanto cria se ent o a tree para o protocolo FTT e depois colocada na tree a informa o sobre o tipo de mensagem Identificado o tipo o processamento da mensagem enviado para uma fun o especifica 7 5 Fun o dissect TM Esta fun o chamada pela dissect_FTT sempre que esta de
4. Aplic vel a Trigger Message Sintaxe Base Intervalo de Dados ftt asleft UINT16 decimal 0 a 65535 6 3 10 Latencia desde o inico do EC Aplicavel a Synchronous Data Message e Assynchronous Data Message Sintaxe Intervalo de Dados ftt TMtime Tempo Relativo Tempo em segundos Nao aplicavel 6 3 11 Id da Mensagem Aplic vel a Synchronous Data Message e Assynchronous Data Message Sintaxe Intervalo de Dados ftt id UINTI6 0x0000 a OxFFFF 6 3 12 Id de Asynchronous Data Message na Trigger Mes sage Aplic vel a Trigger Message identifica se existe o Id no EC Sintaxe Intervalo de Dados ftt AMsgId UINTI6 0x0000 a OxFFFF 6 3 13 Id de Synchronous Data Message na Trigger Message Aplic vel a Trigger Message identifica se existe o Id no EC Sintaxe Intervalo de Dados ftt SMsgId UINTI6 0x0000 a OxFFFF iN o Implementado 6 3 Filtragem 6 3 14 N mero da Trigger Message na captura Aplic vel a Trigger Message este campo exprime numa ordem sequencial a ordem da Trigger Message na captura Intervalo de Dados UNTIG O a 05535 6 3 15 Utiliza o dos filtros Para aplicarmos filtros captura que est a ser analizada est dispon vel na barra de ferramentas em cima uma interface que permite que se es crevam Display Filters No input dos filtros existe um um mecanismo de auto completion Figura 6 3 File Edit View Go Capture Analyze Statistics Telephony Tools Help Siro i mGxos ac vsr ts F Q
5. Nimoo de mensagens Simcronas N mero de mensagens Ass ncronas MSG Index Informa o sobre mensagem ID Identificador da mensagem Frag No 2 N mero de Fragmentacio 5 4 Tipos de mensagens FIT Sequence Mesg Mesg Mesg NSM Type Number NAM Flags 5 Frag No ID Frag No ID Frag No 0 T B 31 a 83 7 95 IL 127 NSM Number of Synchronous Messages NAM Number of Asynchronous Messages Figura 5 3 Estrutura de uma Trigger Message 5 4 2 Syncronous Data Message A Syncronous Data Message transporta informa es presen de ser transmitidas em tempo real a sua estrutura Figura 5 4 Tamanho bytes F a i ae Apo de mensagem identificador da mensagem FTI i i Seq No FI FragNo Data i Type OEIE si up o Ri Ri Po na Ra Peers 15 23 31 39 55 Figura 5 4 Estrutura de uma Syncronous Data Message ou Asyncronous Data Message 5 4 3 Asyncronous Data Message A Asyncronous Data Message transporta informa es ass ncronas po dendo possuir ou n o requisitos de pontualidade a sua estrutura igual Syncronous Data Message Figura 5 4 5 4 4 Asynchronous Status message Este tipo de mensagem transporta informa es de estado e configura o do sistema e dos dispositivos na rede a sua estrutura n o relevante no mbito deste projecto 5 4 5 Idle Sem relev ncia no mbito do projecto 25 26 5 4 6 Plug N Play Sem
6. Trigger Message TM pelo Master que sincroniza a rede e identifica todas as mensagens s ncronas ou ass ncronas a serem processadas naquele EC As mensagens s ncronas s o de alta prioridade e s o as primeiras a serem enviadas no EC em instantes temporais bem defendidos calculados apartir da informa o na TM as men sagens ass ncronas s o enviadas no restante tempo do EC podendo ou n o possuir requisitos de tempo real envio de uma mensagem para todos os n s na rede 23 24 O protocolo FTT SE 5 4 Tipos de mensagens O protocolo FTT SE utiliza para comunicar entre os diferentes n s diferen tes tipos de mensagens que assentam no campo de dados Data do protocolo Ethernet com o Type Ox8ffO Figura 5 2 FTT Type Destination Source x SFD Start of Frame Delimiter FCS Frame Check Sequence Figura 5 2 Estrutura de um pacote Ethernet Na estrutura dos pacotes FTT existe um campo de dois bytes que iden tifica o tipo de mensagem e est descrito como 0x0000 Trigger Message 0x0001 Syncronous Data Message 0x0002 Asynchronous Data Message 0x0003 Asynchronous Status Message 0x0004 Idle 0x0005 Plug n Play 5 4 1 Trigger Message A Trigger Message enviada pelo Master para todos os n s broadcast e pos sui informa es sobre todas as mensagens a serem enviadas pelos diferentes n s durante o corrente EC a sua estrutura Figura 5 3 Tamanho bytes 2 Seo Numero de sequ ncia NM 2
7. alguns dissectors para descodificar a pr xima parte do tubuff caso existam chamado o pr ximo dissector 6 O dissector descodifica a sua parte do protocolo e passa o payload res tante para o tubuff e chamada de novo a fun o dissector try port 7 Este processo de descodificar cada camada do pacote continua at n o existir mais dados ou n o existir nenhum dissector registado para os dados restantes Uma vez isto a pr xima frame lida 3 4 Programa o No contexto do projecto de investiga o apropriado desenvolver um pro tocol dissector como plug in O protocol dissector normalmente escrito em ANSI C de modo a ser o mais port vel poss vel dado a que o Wireshark corre em m ltiplas platafor mas Um dissector pode ser desenvolvido para integrar o c digo fonte ou pode ser implementado como plug in a vantagem de um plug in que n o necess rio a recompila o completa do Wireshark durante o desenvolvimento do c digo SO tobuff um buffer usado para passar o payload restante a ser descodificado para algum dissector adicional este buffer deve ser actualizado por cada dissector 13 14 Wireshark epan_dissect_run dissect_packet Zz EE Loj dissect frame tvbuff 1 dissect try port Ne tvbuff tvbuff X dissect ip dissectors dissect tcp dissect arp dissect ftt dissect_ Figura 3 3 processo de packet dissection WIRESHARK
8. de mensage Cap tulo 1 Introdu o Este trabalho surgiu no mbito do projecto Bolsa de Integra o na In vestiga o 2009 financiado pela FCT e tem por objectivo o desenvol vimento de um protocol dissector em Wireshark para a fam lia de protocolos FTT SH sobre Ethernet 1 1 Motiva o Existe hoje em dia uma classe de aplica es de tempo real que incluem activi dades cr ticas que imp em requisitos de pontualidade e previsibilidade Estas aplica es normalmente implementadas em arquitecturas distribu das leva ram ao desenvolvimento de protocolos de comunica o espec ficos denomi nados protocolos de tempo real que permitem oferecer garantias determi n sticas de previsibilidade e lat ncia T m se observado um crescimento no desenvolvimento destes protocolos assentes na plataforma Ethernet que se prendem essencialmente por elevada capacidade disponibilidade de recursos t cnicos e humanos e baixo custo Existem j no mercado varias ferramentas de capazes de observar o tr fego que circula numa rede do tipo referido vulgarmente conhecidas por sniffers mas possuem apenas capacidade de descodificar os protocolos de comunica es mais gen ricos por este motivo n o comum encontrar fer ramentas deste tipo para redes de tempo real Da que seja essencial desenvolver uma ferramenta capaz de analisar o tr fego destas redes para garantir o bom funcionamento destas O objectivo deste trabalho est defin
9. developer Pressupoem as substi tui es PROTONAME Nome do Protocolo PROTOSHORTNAME Um nome abreviado para o protocolo PROTOABBREV Um nome para usar nas express es dos filtros deve apenas conter letras min sculas d gitos e hifens 4 5 1 Pre mbulo ifdef HAVE CONFIG H include config h endif include lt stdio h gt 17 18 H DO DO JI DO DI Wb Desenvolvimento de um dissector como plug in include lt stdlib h gt include lt string h gt include glib h gt include lt epan packet h gt include lt epan prefs h gt Nesta sec o defenimos os ficheiros que precisamos de incluir para o programa estes s o precisos para as fun es globais que ir o ser usadas no dissector Quando preciso usar fun es mais especificas temos de adicionar a sua fonte neste local 4 5 2 Registo de par metros e declara es de fun es Forward declaration we need below if using proto reg handoff as a prefs callback ef void proto_reg_handoff PROTOABBREV void Initialize the protocol and registered fields x static int proto PROTOABBREV 1 static int hf PROTOABBREV FIELDABBREV 1 n Global sample preference controls static gboolean gPREF HEX FALSE Global sample port pref x static guint gPORT PREF 1234 display of numbers Initialize the subtree pointers x static gint ett PROTOABBREV 1 Nesta sec o declaramos variav
10. findTM ra sa 0 0 00 00 ee 41 8 O sistema TAP 42 aid A ean a RSA oe eae eae 42 Da Be he ee es ae a 42 8 2 1 Descri o das informa es fornecidas pela ferramental 42 8 2 2 Lat ncianos EOS 42 8 2 3 Estat sticas Sum riaS 42 8 3 Utiliza o da ferramenta 43 9 Resultados experimentai 44 91 Testes preliminares 44 9 1 1 Desenvolvimento 44 9 1 2 Resultados 45 9 2 Testes ao dissector FTT SE 0 00 00 0004 45 10 Conclus es e Trabalho Futuro 47 101 Conclus es ee 47 10 2 Trabalho Futuro 000084 47 11 Manual de Instala o 48 11 1 Ambiente de desenvolvimento 48 E ara 48 ee 49 49 49 Re 49 q 49 ss Sats dp es 50 a sh he de 50 y o 50 11 3 8 Comandos para instalar o dissector 50 11 3 9 Instala o dos filtros de coreg 51 11 4 Instala o protocol tap fttstal 0 sss 51 Bibliografia 52 Lista de Figuras 6 1 Expert Info CR ae oe a bas Bee ee 30 qy 30 Tr 33 34 E 35 6 6 Exemplo de filtragem por tipo de mensageml 36 6 7 Exemplo de filtragem por numero de mensagens Assincronas 6 8 Exemplo de filtragem por tempo e por tipo
11. ligada atrav s de um ethernet hub o Wireshark pode configurar a placa de rede NIC em promiscuous mode e obter n o s pacotes endere ados para o computador em que o programa est instalado mas todos os pacotes a viajar na rede Posteriormente podemos analisar a informa o descodificada pelo Wireshark atrav s das suas funcionalidades Figura B I 3 2 1 GUI Graphical User Interface O GUI do Wireshark configur vel e f cil de usar a informa o sobre os pacotes mostrada em tr s reas da janela figura B 2 summary no topo mostra o n mero do pacote o tempo o endere o de origem o endere o de destino e o nome e informa o sobre a camada mais alta do protocolo 3 2 Funcionamento Computador com Wireshark Figura 3 1 poss vel topologia de liga o do Wireshark numa rede File Edit View Go Capture Analyze Statistics Telephony Tools Help Bsq ocoxca meort es BB Geert goma a W Fitter ly l Expression 4 Clear Apply No Time source Destination Protocol Info E gt Frame 1 72 bytes on wire 72 bytes captured Linux cooked capture Packet type Sent by us 4 Link layer address type 512 Link layer address length 0 protocol tree Source lt MISSING gt Protocol IP 0x0800 Internet Protocol Src 93 102 200 45 93 102 200 45 Dst 62 169 67 172 62 169 67 172 gt User Datagram Protocol Src Port 45795 45
12. o mostra o m nimo o m ximo a m dia e o desvio padr o das lat ncias entre mensagens com o mesmo Jd nos diferentes ECs 8 3 Utiliza o da ferramenta Para a utilizarmos esta ferramenta temos de ter um inst ncia de terminal aberta e executar o seguinte comando tshark op es de captura z fttstat Ox Id no campo Id colocamos o Id em hexadecimal que queremos que seja analisado nas Selected Id Stats ou 1 caso n o seja necess rio o processa mento destas informa es 43 Cap tulo 9 Resultados experimentais 9 1 Testes preliminares 9 1 1 Desenvolvimento Durante o estudo do desenvolvimento do Wireshark foi implementado um dissector para testes para um protocolo imagin rio Caesar Protocol com a estrutura Tipo Tipo de mensagem do protocolo sem sentido funcional apenas para efeito de testes Flags Flags indicadoras de caracter sticas do protocolo apenas o bit me nos significativo tem informa o significativa DO Reply Sequence Number Numero de sequ ncia das mensagens as mensagens Request e Reply correspondentes t m de ter o mesmo sequence number Este protocolo implementado directamente sobre Ethernet com o type 0x1001 As funcionalidades deste dissector s o e Identifica o do tipo de mensagem e Identifica o e processamento das flags e Relacionamento entre Requests e Replys em tempo e numero de frame 9 2 Testes ao dissector FTT SE e Detec o de erro
13. para resolver este o problema est defeniu se o mecanismo CSMA CD Carrier Sense Multiple Access with Colision Detection 2 3 2 Switched Ethernet full duplex Nesta arquitectura os n s est o ligados a um dispositivo central switching hub efectuando canais independentes segmentos de rede para cada dispo sitivo Esta arquitectura elimina ent o o problema das colis es visto que os n s da rede n o competem pela mesmo canal e permite a opera o em full duplex i e cada dispositivo pode enviar e receber dadosn em simult neo Switched Ethernet Shared Ethernet Figura 2 2 Shared vs Switched Ethernet Cap tulo 3 Wireshark 31 O que o Wireshark O Wireshark um programa de andlise de redes que se insere numa catego ria de programas chamados sniffers Estes programas caracterizam se por monitorizar o tr fego que viaja numa rede A an lise da rede pelo Wireshark caracteriza se pela leitura e desco difica o de pacotes e a sua apresenta o numa forma leg vel de forma a determinar o que est a acontecer na rede O grande espectro de protoco los que consegue analisar e o facto de ser um programa open source que activamente suportado faz deste um dos programas mais utilizados para a an lise de redes 3 2 Funcionamento O Wireshark obt m os pacotes a analisar atrav s de um processo designado por capture Se a rede estiver
14. podemos colocar no filtro apenas ftt error Figura 6 4 Podemos utilizar os operadores seguintes em conjunto com os campos previamente descritos de acordo com o formato e base da vari vel associada 33 Funcionalidades do dissector FTT SE Hiei Edt View o Capi ire Analyze cat stice i Telephony Jools Help JAU Baxe reer t FGA accah 855 O Ed Filter ftterror M Expression IES Clear Apply No P Time Source ination Protocol Info FIT Frame 1 1022 bytes on wire 1022 bytes captured gt Ethernet II Src 3com 35 ff 6a 00 50 04 35 ff 6a Dst 3Com 74 la fc 00 04 75 74 la fc 0000 00 04 75 74 la fc 00 50 04 35 ff 6a 8f fO 00 01 0010 00 00 00 00 00 01 00 01 02 03 04 05 06 07 08 09 0020 Oa Ob Oc Od Ge Of 10 11 12 13 14 15 16 17 18 19 a keasvoso 0030 la lb lc ld le 1f 20 21 22 23 24 25 26 27 28 29 a asas 0040 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 01 23456789 0050 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 lt gt GA BCDEFGHI 0060 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 JKLMNOPQ RSTUVWXY 0070 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 Z N a bcdefghi 0080 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 jklmnopq rstuvwxy File homejcesarArea de Trabalh Packets 8512 Displayed 9 Marked O Time 00 00 00 000 Profile Default 4 Figura 6 4 Filtro de exist ncia de e
15. relev ncia no mbito do projecto O protocolo FTT SE Cap tulo 6 Funcionalidades do dissector FTT SE 6 1 Identifica o e Processamento das mensagens O dissector est preparado para identificar todos os tipos de mensagens pertencentes ao protocolo FTT SE no entanto s capaz de processar e interrelacionar as mensagens dos tipos Trigger Message Synchronous Data Message e Asyncronous Data Message 6 1 1 Summary Na janela summary s o mostradas as informa es que sumarizam o pacote analisado Em primeiro lugar identificado o protocolo na coluna Protocol na coluna Info mostrado o tipo de mensagem e em seguida informa es especificas de cada tipo de mensagem Trigger Message e Sync Msgs Identifica o do n mero de Synchronous Data Messages a serem enviadas no presente EC e Async Msgs Identifica o do n mero de Asynchronous Data Mes sages a serem enviadas no presente EC Synchronous Data Message e Id Identifica o do Td e Frag no Identifica o do n mero de Fragmenta o 28 Funcionalidades do dissector FTT SE Asynchronous Data Message e Id Identifica o do Id e Frag no Identifica o do n mero de Fragmenta o 6 1 2 Informa es na Protocol Tree Na Protocol Tree s o mostradas informa es detalhadas sobre a mensagem a ser analisada e sobre a rela o entre mensagens As informa es s o asseguir descritas por tipo de mensagem Trigger Message e Ide
16. se existir uma Reply sem ter sido recebido a Request correspondente Os testes ao funcionamento deste dissector foram feitos manualmente com o programa PackETHE uma ferramenta capaz de gerar pacotes Ethernet e envia las em qualquer interface de rede dispon vel no compu tador os testes foram feitos maioritariamente atrav s da interface loopback 9 1 2 Resultados Este dissector serviu para aprender a trabalhar com a API do Wireshark e a ter no es sobre como indexar estruturas no programa Foi bastante impor tante para compreender como se deve e e por onde come ar a desenvolver um dissector Os resultados dos testes foram satisfat rios 9 2 Testes ao dissector FTT SE Os testes a este dissector foram feitos inicialmente com o recurso ao pro grama PackETH tendo ainda sido escrito por mim um programa simples que gerava em texto uma Trigger Message com os seguintes par metros configur veis e Sequence Number e Flags e Numero de Synchronous Data Messages e Numero de Asynchronous Data Messages sendo o resto dos par metros gerados aleatoriamente Durante o desenvolvimento foram sido implementadas funcionalidades ao dissector e sendo testadas as poss veis situa es de erro Foram testadas as situa es Sequence Number Foram testadas situa es de erro de Trigger Messa ges consecutivas com Sequence Number n o sequenciais Numero de Mensagens Foram testadas situa es de erros de Trigger Messages com v
17. ser enviada i e identifica o protocolo que est presente na camada acima na mensagem ou noutro caso pode identificar o tamanho do campo DATA No campo DATA encontramos os dados em si que possuem a informa o a ser transmitida O campo reg usado para dete o de erros na recep o transmiss o da frame Frame Check Sequency 2 3 Topologias de Liga o 2 3 Topologias de Liga o 2 3 1 Shared Ehternet half duplex A arquitectura original do Ethernet partilhada e half duplez i e os dis positivos est o ligados ao mesmo canal f sico podendo haver apenas hub s repetidores no caminho e half duplex no sentido em que cada dispositivo pode estar apenas a enviar ou a receber num determinado momento nunca em simult neo Cada dispositivo independente dos restantes n o existe um dispositivo central a controlar os outros ent o dada a mesma oportunidade para ocupar o canal a cada dispositivo O Ethernet usa um mecanismo broacast delivery no sentido em que todas as mensagens s o ouvidas por todos os dispositivos ligados rede existe depois um circuito de address matching do lado do receptor que compara o endere o de destino de cada frame com o seu pr prio para que este apenas processe a informa o para ele endere ada Do lado da transmiss o podemos notar o problema que se d quando mais que um dispositivo querem enviar informa o ao mesmo tempo quando isto acontece dizemos que temos uma colis o
18. 795 Dst Port domain 53 gt Domain Name System query TINO 04 02 00 00 00 0606 00 60 0016 45 00 06 38 fb ad 40 60 40 11 97 le 5d 66 c82d E 8 P 0820 3e a9 43 ac b2 e3 68 35 60 24 15 96 6a 62 6100 gt c data VIEW 0030 00 61 00 60 60 00 60 60 06 65 78 61 69 6c 65 03 0040 6f 72 67 00 00 61 00 01 org N O Linux cooked mode capture sll 1 Packets 62 Displayed 62 Marked 0 Time 00 00 00 000 __ Profile Default Figura 3 2 GUI do Wireshark protocol tree no meio mostra detalhes sobre cada camada contida no pacote capturado desde a camada mais alta ex HTML at a mais baixa ex Ethernet 12 Wireshark data view em baixo mostra os dados capturados em formato raw em HEX e ASCII 3 2 2 Filtros O Wireshark tem a capacidade de usar filtros de captura capture filters e filtros de apresenta o display filters Os display filters possuem uma sin taxe pr pria que permite fazerem se fun es para seguir conversa es entre computadores p ex folow TCP stream que j uma fun o built in mas baseada na sintaxe dos filtros a sintaxe destes possui opera es l gicas e identifica o dos v rios campos dos protocolos ex source address destina tion address time segmentation flags crc Embora tenham fun es em comum os capture filters possuem uma sin taxe menos poderosa que os display filters 3 2 3 Estat stica O Wireshark possui algumas ferramentas esta
19. FTT SE Desenvolvimento de um dissector para um protocolo de tempo real C sar Gomes Orientador Paulo Pedreiras Universidade de Aveiro Universidade de Aveiro 30 de Outubro de 2010 IcesargomesQua pt pbrpQua pt Conte do 1 Introdu o 6 6 2 O sistema Ethernet 21 Hist ria soso 7 2 2 Os quatro elementos basicog 7 221 Ethernet Framd 1 ee ee o 8 2 3 Topologias de Liga o 9 2 3 1 Shared Ehternet half dupled 2 9 2 3 2 Switched Ethernet full dupled 9 3 Wireshark 10 sl Oque o Wireshark 0 0 0 0 0000 ee 10 ft El EEEE BE 10 onan cesses 10 tee Sk ogi enn iets Re E Sr 12 hate apiece asd oa A a ee 12 a a a oR Se 8 Be 12 3 3 1 Funcionamentg 0 00 0008 ee 12 TTT ee ee eee E 13 4 Desenvolvimento de um dissector como pluq i 15 Er TUN 15 TTT a 15 dai USEI Co a RE Gordo ao Ra DAR do 16 4 3 1 Recursos na Internew 16 y yF TTT 17 4 5 3 Fun o proto register PROTOABBREVI 7 Descri o Funcional do c digo do dissector para FTT S CONTE DO 4 5 4 Fun o proto reg handoff PROTOABBRE 4 5 5 Fun o dissect PROTOABBREV O protocolo FTT S oe ek G4 pa konka oh DS ku Seo to E KA trees o do ne oe Aro Ge dd 5 3 Funcionamento do protoc
20. aa O NUESo o Y Expression a Clear Apply Interface List DB Open Website Live list of the capture interfaces counts incoming packets Open a previously captured file Visit the project s website Start capture on interface Open Recent o User s Guide home cesar Area de Trabalho capturas cap rx view runtime 22 MB The User s Guide local version if installed home cesar Area de Trabalho capturas test 39 KB i Security home cesar Area de Trabalho capturas cap rx view neg runtime 9979 KB SERA Work with Wireshark as securely as possible home cesar Area de Trabalho nspi pcap not found home cesar Area de Trabalho rtp example raw not found Capture Options ial p P Start a capture with detailed options home cesar Area de Trabalho 01 test pcap not found Co CaptureHelp fhome cesar Area de Trabalho 003transf cap not found nome cesar Area de Trabalho 01 pcap not found home cesar Area de Trabalho 0a1 pcap not found Mome cesar olas not found How to Capture Step by step to a successful capture setup Network Media Sample Captures ESKI aa ne tae rome SN Coa G EAE MIER A rich assortment of example capture files on the wiki Figura 6 3 Interface de input de filtros Podemos verificar a exist ncia de um campo do protocolo na frame ao colocarmos apenas o campo no filtro p e se quisermos filtrar as mensagens com erro
21. ados por v rias fun es Cap tulo 5 O protocolo FTT SE 5 1 Protocolos de tempo real Nas comunica es em redes de controlo e monitoriza o de processos indus triais existem certos requisitos que s o diferentes das redes de comunica o de uso comum em casa ou no escrit rio Por exemplo a predictabilidade favorecida em detrimento da taxa de transmiss o m dia e existem fre quentemente rela es de preced ncia temporal entre mensagens Qualquer incumprimento destes requisitos pode ter impacto negativo significativo no desempenho do controlo de um processo industrial Para satisfazer estes requisitos t m vindo a ser desenvolvidas redes de comunica o especificas que se adaptam s comunica es em ambiente in dustrial em que preciso garantir efici ncia temporal na monitoriza o de sensores e no controlo de automatismos Existem j varias solu es para as comunica es em tempo real no entanto interessante desenvolver uma solu o que consiga garantir este tipo de comunica es assentando se na plataforma Ethernet devido sua f cil implementa o alta disponibilidade de recursos t cnicos e humanos e baixo custo Visto que a Ethernet uma arquitectura de rede uso geral n o est preparada para este tipo de comunica es O protocolo FTT SE prop e ent o fazer com que uma rede em Ethernet satisfa a os requisitos de uma rede de tempo real 5 111 Requisitos Os sistemas de comu
22. ariados n meros de mensagens S ncronas e Ass ncronas em que algumas todas ou nenhumas foram respondidas Mensagens n o Inclu das Foram testadas situa es de envio de men sagens antes de existir alguma Trigger Message e de mensagens Sin cronas e Ass ncronas n o anunciadas Programa dispon vel em http packeth sourceforge net sob a licen a GNU GPL 45 46 Resultados experimentais Para alem destes testes foram testadas situa es sem erros O resultados destes testes estiveram de acordo com as funcionalidades propostas para o dissector Cap tulo 10 Conclus es e Trabalho Futuro 10 1 Conclus es Visto que os protocolos de tempo real como o FTT SE s o usados em am bientes industriais no controlo de sistemas de produ o estes t m de ser muito fiaveis pois podem por em causa toda uma linha de produ o Este dissector vem fornecer uma ferramenta de an lise e debbuging das redes im plementadas sobre FTT SE sendo particularmente til para detectar falhas do sistema 10 2 Trabalho Futuro Sendo sempre poss vel melhorar como temos observado na evolu o da tec nologia que nos rodeia este trabalho tem muita margem por onde possa ser melhorado Em primeiro lugar poss vel conferir mais robustez ao c digo e adicionar mais informa es detalhadas sobre os pacotes p e a interpreta o das flags e sobre a interrela o entre eles N o tendo sido adicionado ao dissector funcionalidades para
23. de Dados ftt type UINTI6 Value String 0 Trigger Message Synchronous Data Message Asynchronous Data Message Asynchronous Signaling Message Idle Message Plug n Play Message 6 3 2 Sequence Number Base Intervalo de Dados UINT8 decimal 0 a 255 6 3 3 Flags Aplic vel a Trigger Message Synchronous Data Message e Asynchronous Data Message Sintaxe Intervalo de Dados ftt flag s UINT8 0x00 a Oxff 6 3 4 N mero de Mensagens Sincronas Aplicavel a Trigger Message Sintaxe Base Intervalo de Dados ftt nsm UINT16 0 a 65535 6 3 5 Numero de Mensagens Assincronas Aplic vel a Trigger Message Sintaxe Base Intervalo de Dados ftt nam UINTI6 0 a 65535 6 3 6 Frame correspondente Aplic vel a Synchronous Data Message e Asynchronous Data Message Sintaxe Base Intervalo de Dados rt frane FRAME NUM decimal Ga 6 3 7 Erro Aplic vel a Trigger Message Synchronous Data Message e Asynchronous Data Message 32 Funcionalidades do dissector FTT SE Intervalo de Dados ftt error UINTI6 Value String 0 Comprimento M nimo Mensagem n o inclu da na TM Mensagem duplicada L Mensagens s ncronas por enviar Mensagens assincronias por enviar Erro no numero de sequ ncia 6 3 8 Numero de Mensagens Sincronas por enviar Aplic vel a Trigger Message Sintaxe Base Intervalo de Dados ftt sleft UINTI6 decimal O a 65535 6 3 9 Numero de Mensagens Assincronas por enviar
24. dermos desenvolver o dissector temos de conhecer a API do Wi reshark para tal existem v rios locais onde podemos aceder para obter essa informa o Embora existam mais recursos apenas referenciarei aqueles que achar relevantes 4 3 1 Recursos na Internet Existem na Internet v rios recursos com muita informa o dos quais destaco o Wiki do Wireshark que contem muita informa o incluindo recursos de utilizadores e de programadores informa o sobre protocolos e notas dos programadores e tamb m a Wireshark dev mailing list 4 3 2 Recursos no c digo fonte Durante o desenvolvimento de um dissector muitas vezes necess rio recor rer ao c digo fonte do Wireshark para saber como utilizar as fun es por ele suportadas S o bastante importantes os seguintes direct rios e ficheiros Direct rio doc No direct rio doc est o documentos de texto que nos assistem durante o processo de desenvolvimento de um dissector README developer O documento principal que nos d suporte no desen volvimento de um novo dissector Nele est o inclu das metodologias a seguir informa es muito importantes sobre o design de um dis sector um template com as principais fun es de um dissector e sua descri o e potenciais problemas que poderam surgir aquando do de senvolvimento de um dissector README malloc Nele est descrita superficialmente a API de gest o de mem ria do Wireshark README binarytrees Informa o s
25. dever o ser enviadas no currente EC feito ent o algumas verifica es para detectar erros e depois s o colo cadas na Protocol Tree as informa es j descritas para Trigger Messages 7 6 Fun o dissect SDM Esta fun o chamada pela dissect_FTT sempre que esta detecta uma mensagem do tipo Synchronous Data Message e tem acesso s mesmas es truturas que a fun o dissect FTT mais o acesso tree do protocolo feito ent o a identifica o dos conte dos presentes na mensagem e colocado na coluna Info da janela Summary o Id e o Fragmentation Number De seguida verificado atrav s do tempo da mensagem a que EC esta pertence para depois ser verificada a sua exist ncia na rvore bin ria cor respondente A seguir s o processadas e mostradas na protocol tree as informa es j descritas para este tipo de pacote 7 7 Fun o dissect ADM Fun o funcionalmente equivalente dissect_SDM para Asynchronous Data Messages 7 8 Fun o checkMem Esta fun o chamada na fun o dissect_TM pois nela que se guardam informa es na mem ria A fun o verifica se a mem ria alocada j est toda ocupada e caso se verifique esta realocar os ponteiros de modo a que seja poss vel guardar mais informa es na mem ria 7 9 Fun o findTM 7 9 Fun o findTM Esta uma fun o auxiliar que respons vel por encontrar o ndice ade quado do array de estruturas associadas s Tr
26. do o c digo fonte necess rio 11 3 Instala o do dissector FTT ETH como plug in 49 11 3 Instala o do dissector FTT ETH como plug in Os direct rios referidos nesta sec o tem como direct rio base do Wireshark insta lado apartir do c digo fonte 11 3 1 O direct rio do plug in e os seus ficheiros Deve ser criada uma pasta plugins ftt onde devem ser colocados os ficheiros AUTHORS COPY ING Changelog Makefile am Makefile common Makefile nmake moduleinfo h moduleinfo nmake packet ftt c plugin rc in ftt global h packet ftt h que devem ser disponibilizados em anexo com este documento 11 3 2 Mudan as em ficheiros j existentes do Wireshark Para finalizar se a instala o do plug in tem se de alterar os seguintes ficheiro e configure in e epan Makefile am e Makefile am e Makefile nmake e packaging nsis Makefile nmake e packaging nsis wireshark nsi e plugins Makefile am e plugins Makefile nmake 11 3 3 Mudan as no plugins Makefile am necess rio mudar a directiva SUBDIRS por ordem alfab tica de modo a reflectir a adi o do plugin SUBDIRS CUSTOM SUBDIRS gryphon irda Q CURE VIV l Pie Y O direct rio deve ser inserido por ordem alfab tica 11 3 4 Mudan as no plugins Makefile nmake Deve se adicionar por ordem alfab tica em process plugins o seguinte el E MAKE MAKEFLAGS f Makefile nmake PLUGIN TARGET cd A seguir adicionamos em in
27. eis essenciais ao registo do dissector no Wireshark bem como o registo dos campos analisados com informa o relevante a passar para o Wireshark Podem ainda declararar se nesta sec o vari veis globais estruturas e constantes necess rias ao funcionamento do dissector 4 5 3 Fun o proto register PROTOABBREV hn CURE VIV l o N void proto register PROTOABBREV void i module_t PROTOABBREV module x Setup list of header fields See Section 1 6 1 for detailsx static hf register info hf amp hf PROTOABBREV FIELDABBREV 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 oR WN rH 4 5 Estrutura de um dissector 19 FIELDNAME PROTOABBREV FIELDABBREV FIELDTYPE FIELDBASE FIELDCONVERT BITMASK FIELDDESCR HFILL I x Setup protocol subtree array static gint xett amp ett PROTOABBREV J Register the protocol name and description proto PROTOABBREV proto register protocol PROTONAME PROTOSHORTNAME PROTOABBREV PROTOABBREV_module prefs_register_ protocol proto_PROTOABBREYV proto reg handoff PROTOABBREV Register a sample preference prefs register bool preference PROTOABBREV module show hex Display numbers in Hex Enable to display numerical values in hexadecimal amp ePREF HEX x Register a sample port preference R prefs register uint prefer
28. ence PROTOABBREV module tcp port PROTOABBREV TCP Port PROTOABBREV TCP port if other than the default 10 amp gPORT PREF Esta fun o usada para registar o dissector no Wireshark os scripts make reg dotc e make reg py passam por todos os dissectors e constroem a lista de modo a que sejam registados no motor do Wireshark Na linha 7 temos a declara o do hf array este array importante para tirar partido das capacidade dos display filter cada elemento do array ser um item que poder ser filtrado no Wireshark ex ip src 0 0 0 255 Podem se definir diferentes itens em diferentes tipo de conte dos p e Ethernet addresses n meros em hexadecimal strings etc 4 5 4 Fun o proto reg handoff PROTOABBREV void proto reg handoff PROTOABBREV void dissector handle t PROTOABBREV handle 20 11 12 n FOU AND j 13 14 15 16 17 18 19 20 21 Desenvolvimento de um dissector como plug in x Use new create dissector handle to indicate that dissect PROTOABBREV returns the number of bytes it dissected or O if it thinks the packet does not belong to PROTONAME PROTOABBREV handle new create dissector handle dissect PROTOABBREV proto PROTOABBREV dissector add PARENT SUBFIELD ID VALUE PROTOABBREV handle Esta fun o usada para instruir o Wireshark de quando deve chamar o dissector A fun o new create dissector handle na
29. ido ent o como o desenvolvimento de um plug in para o Wireshark para este tipo de redes Fundac o para a Ci ncia e Tecnologia Flexible Time Triggered Cap tulo 2 O sistema Ethernet 2 1 Hist ria O sistema Ethernet foi inventado em 1973 por Bob Metcalfe na Palo Alto Research Center na California Aquela data estava descrito como um sis tema de rede para ligar esta es de trabalho e impressoras a laser de alta velocidade Desde ent o o sistema Ethernet evoluiu bastante na sua velocidade de transmiss o 2 94 Mbps at 10 Gbps e tamb m no seu meio f sico desde cabo coaxial passando por cabos twisted pair e mais recentemente fibra optica O sistema Ethernet uma tecnologia que define uma norma de comu nica o em redes locais local area network LAN nela est o defenidos o suporte f sico de transmiss o a maneira como s o transmitidos os impulsos digitais o hardware suportado etc todas as especifica es necess rias para se conseguir montar uma rede rea local entre quaisquer computadores Hoje em dia o Ethernet largamente utilizado para montar LA N s sendo das tecnologias mais utilizadas em todo o mundo os factores que o tornaram popular foram o baixo custo a escabilidade a fiabilidade e o largo acesso a ferramentas de gest o 2 2 2 Os quatro elementos b sicos Uma LAN Ethernet feita de hardware e software que em conjunto entregam dados digitais entre computadores Para conseguir isto quatro e
30. igger Messages atrav s do tempo da mensagem que lhe passada 41 Cap tulo 8 O sistema TAP 8 1 O que O Wireshark tem em si implementado o sistema TAP que permite que sejam executadas notifica es de informa o geradas a partir de eventos de alguns pacotes de alguns protocolos implementado no dissector um mecanismo que passa informa es para a interface TAP que depois recolhida por um tap listener 8 2 O tap fttstat Com base no mecanismo TAP foi desenvolvida uma ferramenta que produz informa es estat sticas sobre o protocolo FTT A utiliza o desta ferra menta est apenas disponivel no tshark 8 2 1 Descri o das informa es fornecidas pela ferramenta Quando a ferramenta utilizada esta produz informa es importantes que s o asseguir descritas 8 2 2 Lat ncia nos ECs Por cada EC que iniciado e indexado por uma Trigger Message impressa uma linha com a informa o do n mero da Trigger Message na captura e a lat ncia desta ao primeiro pacote recebido do correspondente EC 8 2 3 Estat sticas Sum rias Latency Stats Esta sec o das estat sticas mostra a o m nimo o m ximo a m dia e o desvio padr o das lat ncias do primeiro pacote em cada EC 8 3 Utiliza o da ferramenta Btween EC Stats Esta sec o mostra o m nimo o m ximo a m dia e o desvio padr o das lat ncias entre EC s os tempos entre Trigger Messages sucessivas Selected Id Stats Esta sec
31. lementos precisam de ser combinados para fazerem um sistema Ethernet Os elementos s o e frame Um conjunto de bytes normalizado usado para transportar dados pela rede e O Medium Accsess Control Protocol Um conjunto de regras embuti das em cada interface Ethernet que permite que v rios computadores Bl 2 2 1 A resto O sistema Ethernet acedam a um canal partilhado Componentes de Sinaliza o componentes electr nicos que recebem e enviam sinais atrav s do canal Meios F sicos cabos e outro hardware usados para transportar os sinais digitais aos computadores ligados rede Ethernet Frame Destination Source Preamble Address Address Type Data Padding FCS Figura 2 1 A frame Ethernet mais comum I frame o componente mais importante de um sistema Ethernet o dos componentes existem para moverem frames de um lado para o outro A sua estrutura mostrada na figura E T O pre mbulo um conjunto de bits usado para sinalizar o inicio e sincronismo de uma frame Os Destination Address e o Source Address s o respectivamente o en dere o de destino e o endere o de fonte da frame Tal como nas nossas casas temos um endere o nico para o qual nos mandam a nossa cor respond ncia no caso das redes Ethernet cada computador possui um endere o para o qual as mensagens s o enviadas O campo Ethertype pode ser usado de duas maneiras numa delas este cont m o tipo de mensagem que est a
32. linha 10 passa ao Wireshark qual a fun o que deve chamar para processar os pacotes A fun o dissector_add na linha 12 passa ao Wireshark o elemento que despoletar o dissector esse elemento o PARENT SUBFIELD ex ethertype no caso do elemento ser o campo type do protocolo Ethernet tcp port no caso do elemento ser o campo port do protocolo TCP o valor que toma o elemento ser o ID VALUE 4 5 5 Fun o dissect PROTOABBREV static int dissect PROTOABBREV tvbuff t xtvb packet info xpinfo proto tree xtree Set up structures needed to add the protocol subtree and manage it x proto item xti proto tree PROTOABBREV tree Make entries in Protocol column and Info column on summary display col set str pinfo cinfo COL PROTOCOL PROTOABBREV This field shows up as the Info column in the display you should use it if possible to summarize what s in the packet so that a user looking at the list of packets can tell what type of packet it is See section 1 5 for more information col clear pinfo gt cinfo COL INFO 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4 5 Estrutura de um dissector col set str pinfo gt cinfo COL INFO XXX Request create display subtree for the protocol x ti proto tree add item tree proto PROTOABBREV tvb 0 1 FALSE PROTOABBREV tree proto item add sub
33. nica o que suportam aplica es de tempo real tem de cumprir alguns requisitos Os requisitos mais comuns s o predictabili dade tratamento de tr fego peri dico com diferentes per odos tratamento de tr fego espor dico lat ncia limitada efici ncia no tratamento de pacotes e gest o din mica de QoS 5 2 Arquitectura Figura 5 1 Estrutura do Elementary Cycle 5 2 Arquitectura De modo a preencher os requisitos das redes de tempo real o protocolo FTT SE utiliza uma arquitectura centralizada de agendamento e controlo de transmiss o master multislave Dado que o controlo de transmiss o e o agendamento est o localizados num s n master poss vel a implemen ta o da gest o din mica de QoS O Master respons vel por dizer a cada slave quando e o que transmitir fazendo assim com que exista uma no o coerente de tempo em cada n da rede e tambem consegue se evitar colis es na rede 5 3 Funcionamento do protocolo 5 3 1 Elementary Cycle Um dos aspectos fundamentais do protocolo 0 Elementary Cycle EC que uma janela temporal de dura o fixa que aloca o tr fego de mensagens no barramento O tempo no barramento ent o organizado numa sucess o infinita de ECs Em cada EC existem ainda duas janelas temporais a sin crona e a ass ncrona dedicadas tr fego desencadeado por tempo e trafico desencadeado por eventos respectivamente Figura B T Cada EC come a com o broadcast de uma
34. ntifica o do Sequence Number e Identifica o do campo flags e Identifica o das Synchronous Messages Identifica o da quantidade Identifica o do ID e do Fragmentation Number de cada men sagem a ser enviada no EC e Identifica o das Asynchronous Messages Identifica o da quantidade Identifica o do ID e do Fragmentation Number de cada men sagem a ser enviada no EC Synchronous Data Message e Identifica o do ID e Identifica o do Sequence Number e Identifica o do Fragmentation Number e Identifica o da Frame da Trigger Message que inicia o EC em que a mensagem se insere e Calculo do tempo passado desde o inicio do EC Asynchronous Data Message e Identifica o do ID e Identifica o do Sequence Number e Identifica o do Fragmentation Number 6 2 Detec o de Erros e Identifica o da Frame da Trigger Message que inicia o EC em que a mensagem se insere e Calculo do tempo passado desde o inicio do EC 6 2 Detec o de Erros Um aspecto importante num dissector a analise funcional do protocolo dai que seja interessante detectar erros para estudar o funcionamento dos n s Os erros mostrados s o Mensagem n o inclu da na Trigger Message Este erro d se quando uma mensagem transmitida com um ID que n o existe na Trigger Message correspondente ao EC Mensagens S ncronas por enviar Este erro d se quando se detecta o inicio de um novo EC chegada de
35. obre a utiliza o de rvores bin rias num dissector README plugins Documenta o sobre como utilizar a interface plug in no Wireshark README request response tracking informa o de como implementar estruturas de tracking de conversa es num dissector CI k WON 4 4 Desenvolvimento do dissector Direct rio epan O direct rio Ethernet Protocol Analyzer EPAN contem protocol dissectors e as fun es mais teis e mais usadas num dissector Dou destaque ao ficheiro packet info h pois contem informa o sobre uma estrutura b sica com muita informa o da maior import ncia sobre os pacote a ser analisado Direct rio Plug ins E neste direct rio que se encontram os dissectors implementados pela inter face plug in e neste tamb m que vamos colocar o c digo fonte para o nosso dissector 4 4 Desenvolvimento do dissector Antes de come ar mos a construir um dissector recomend vel que se ana lise a cria o passo a passo de um dissector presente no Wireshark Deve loper s guide Depois de analisado o anterior documento pode se come ar um dissector de raiz apartir do template no ficheiro README developer ou alterar um dissector j existente 4 4 1 Instala o do dissector como plug in apartir do c digo fonte Ver ficheiro README plugins em doc 4 5 Estrutura de um dissector A an lise desta sec o do relat rio deve ser acompanhada pelo template de um dissector do ficheiro doc README
36. ocar na caixa de dialogo a express o ftt TMtime lt 0 00002 amp amp ftt type 1 Figura 6 3 35 36 Funcionalidades do dissector FTT SE N mero da TM na captura 4272 Sequence Number 179 Flags 0x00 Figura 6 7 Exemplo de filtragem por n mero de mensagens Assincronas 6 3 Filtragem V Flexible Time Triggered Ethernet Message Type Synchronous Data Message 1 Y Synchronous Data Message Message Id 0x0000 Sequence Number 6 Flags 0x00 Fragmentation Number 1 TM na frame 2375 JKLMNO jkl Figura 6 8 Exemplo de filtragem por tempo e por tipo de mensagem 37 Cap tulo 7 Descri o Funcional do c digo do dissector para FTT SE A an lise deste capitulo deve ser feita acompanhando o c digo fonte do dissector 7 1 Fun o proto register ftt Esta fun o caracterizada por registar o dissector no motor do Wireshark da que sejam nela declaradas informa es importantes para o funciona mento correcto do plug in O array hf register info hf respons vel pela defini o e registo de todos os itens que ser o capazes de ser filtrados bem como a maneira como s o mostrados na protocol tree O array gint ett respons vel pela defini o das vari veis que pos suem o estado dos ramos mostrados na protocol tree Por fim s o executadas fun es que s o respons veis por registar as ca racter sticas do dissector no Wireshark
37. olo 5 3 1 Elementary Cucla ea i ae Ween ee ae ea da 5 4 1 Trigger Messagd 2 ss 5 4 2 Syncronous Data Messagg 543 Asyncronous Data Messaqd 5 4 4 Asynchronous Status message DAS TUA o sususa ie EE 4 ew kave RR ves 5 4 6 Plug N Play Funcionalidades do dissector FTT SE 6 1 Identifica o e Processamento das mensagens 6 1 2 Informa es na Protocol Tred 6 2 Detec o de Erros ss sg sira no ss su sa ess i gp e ss 63 Filtrageml o sss 6 3 1 IDOL sa TT RA RO Ree Re ee TT O RU AE TIS 6 3 2 Sequence Number 2 are e a ia a 6 33 Flood o a 3 saj ks poate devi la a Sg bl RO Dead 6 3 4 Numero de Mensagens Sincronag 6 3 5 Numero de Mensagens Ass ncronas 6 3 6 Frame correspondenta GS E Erro ss e a di o AONDE AP am CR o ete DS 6 3 8 Numero de Mensagens S ncronas por enviar 6 3 9 Numero de Mensagens Ass ncronas por envia Er ey E RE a a aa haa a dd Rua E A 7 1 Fun o proto register fit 7 2 Fun o proto_req_handoff 0 0004 7 3 Fun o ftt init routine CONTE DO 7 4 Fun o dissect ftt 2 0 00000 A 39 7 5 Fun o dissect TM 2 ee 39 7 6 Fun o dissect SDM 2 ee Sl 40 Bia Gres ope teen Arve uy A a ace 40 7 8 Fun o checkMem o e s rod da tad e sl 40 7 9 Fun o
38. processar as Asynchronous Status Message e Assynchronous Signaling Message sempre poss vel adicion las Cap tulo 11 Manual de Instala o 11 1 Ambiente de desenvolvimento Este trabalho foi desenvolvido no sistema operativo Ubuntu na vers o 9 04 Jaunty Jackalope com o kernel linux 2 6 28 11 generic na edi o do c digo fonte foi utilizado o IDE Geany na vers o 0 16 Argon 11 2 Instala o do Wireshark Foi utilizado o Wireshark Development Version Network Protocol Analyzer 1 3 g compilado apartir do c digo fonte ues esta disponivel em A instala o do programa requer que se tenha o pacote do link anterior descom pactado e que se tenha uma inst ncia de terminal com o seu working directory na pasta em que temos o c digo fonte a seguir temos de seguir as seguintes instru es no terminal 1 sudo autogen sh este comando faz com que se criem alugumas makefiles caso faltem pacotes instalados no sistema operativo a script notifica quais est o em falta 2 sudo configure disable warnings as errors esta script configura as op es do programa a op o disable warnings as errors faz com que as warnings n o sejam tratadas como erros e consequentemente n o parem a compila o caso faltem pacotes instalados no sistema operativo a script notifica quais est o em falta 3 sudo make install este comando faz a instala o propriamente dita do Wireshark executando todas as makefiles e compilando to
39. r pida que a anterior deve se ent o executar de novo sudo make install 11 3 9 Instala o dos filtros de cores Ainda nos ficheiros disponibilizados juntamente com este documento est um fi cheiro com o nome color que cont m as regras de cores para o protocolo FTT A sua instala o pressup e a execu o do Wireshark em modo de super utilizador Depois de iniciado o programa deve se aceder na barra de menus a View gt Coloring Rules na janela que ir aparecer deve se escolher a fun o Import e seleccionar o ficheiro color 11 4 Instala o protocol tap fttstat Para instalar o tap tem se de alterar o ficheiro MAKEFILE e executar os seguintes passos e adicionar em am objects 8 por ordem alfab tica a seguinte linha tshark tap fttstat OBJEXT e adicionar em TSHARK TAP SRC por ordem alfab tica a seguinte linha tap fttstat c e a seguir a em distclean compile rm f tab c por ordem alfab tica a seguinte linha include DEPDIR tshark tap fttstat Po e adicionar na sec o a seguir ultima o c digo presente no ficheiro addMkf fornecido com este documento para concluir a instala o executasse o comando sudo make install na pasta raiz do Wireshark 51 Bibliografia 1 Ethernet Wikipedia the free encyclopedia 2 C E Spurgeon Ethernet The Definitive Guide O Reilly 2000 3 P Pedreiras L Almeida and J A Fonseca The Quest for Real Time Behavior in Ethernet CRC Press
40. rros V rias rela es podem ser combinadas com os operadores l gicos or e and amp amp 6 3 16 Exemplos de utiliza o de filtros Exemplo 1 Se se pretender filtrar a captura pelas mensagens com o Id igual a 0x0000 deve se colocar na caixa de dialogo a express o ftt id 0x0000 Figura 6 5 6 3 Filtragem Bugos paxca ar sv Ft BBcccnaumma o p Eu Frame 1 1022 bytes on wire 1022 bytes captured gt Ethernet II Src 3com 35 ff 6a 00 50 04 35 ff 6a Dst 3Com 74 la fc 00 04 75 74 la fc 04 35 ff 6a 8f fo 00 01 02 03 04 05 06 07 08 09 12 13 14 15 16 17 18 19 22 23 24 25 26 27 28 29 01 23456789 1 lt gt GA BCDEFGHI 4a 4b 4c 4d 4e 4f 50 51 JKLMNOPQ RSTUVWXY 5a 5b 5c 5d 5e 5f 60 61 ZIN a bcdefghi 6a 6b 6c 6d 6e 6f 70 71 jklmnopq rstuvwxy ne Figura 6 5 Exemplo de filtragem por Id Exemplo 2 Se se pretender filtrar a captura pelas mensagens do tipo Synchronous Data Message deve se colocar na caixa de dialogo a express o ftt type 1 ou ftt type Synchronous Data Message Figura 6 6 Exemplo 3 Se se pretender filtrar a captura pelas Trigger Messages com refer ncia a mais que duas Asynchronous Data Message deve se colocar na caixa de di alogo a express o ftt nam gt 2 Figura 5 7 Exemplo 4 Se se pretender filtrar a captura pelas mensagens com lat ncia menor do que 0 00002 segundos e do tipo Synchronous Data Message deve se col
41. stall plugins Manual de Instala o xcopy plugins fttx dll INSTALL DIR N plugins V VERSION d cd plugins if exist Custom nmake MAKE MAKEFLAGS f Custom nmake install plugins WW W9 li 11 3 5 Mudan as na Makefile am Deve se adicionar o plugin por ordem alfab tica em plugin ldadd 1 if HAVE PLUGINS plugin ldadd E onca plugins gryphon gryphon la N 6 dlopen plugins irda irda la Slo pen plugins ftt ftt la N 9 es 11 3 6 Mudan as na configure in Deve se adicionar por ordem alfab tica a Makefile do plug in em AC_OUTPUT AC_OUTPUT plugins gryphon Makefile plugins irda Makefile plugins ftt Makefile a o NoT LW DL 11 3 7 Mudancas ao epan Makefile am Deve se adicionar o caminho relativo para o plugin por ordem alfab tica em plu gin src plugin src plugins gryphon packet gryphon c plugins irda packet irda c JI OO LVIV l plugins ftt packet ftt c 11 3 8 Comandos para instalar o dissector O proximo passo despoletar a compila o do plug in a primeira compila o deve ser feita apartir da raiz verificando todas as makefiles do Wireshark por mudan as deve se ent o abrir uma instancia de terminal e executar 11 4 Instala o protocol tap fttstat sudo make install As compila es subsequentes em caso de altera o do dissector podem ser feitas em plugins ftt sendo esta compila o mais
42. t sticas para analisar o tr fego da rede que mostram por exemplo e informa es sobre os protocolos usados e informa es sobre conversa es e gr ficos de throughput e tempo sequ ncia 3 3 Packet Dissection Os componentes do Wireshark que descodificam os pacotes sao chamados protocol dissectors Estes componentes s o m dulos de c digo fonte indi viduais que d o instru es main do Wireshark em como descodificar um tipo de protocolo espec fico 3 3 1 Funcionamento Cada dissector descodifica a sua parte do protocolo e depois entrega des codifica o a dissectors subsequentes para algum protocolo encapsulado cada fase detalhes do pacote s o descodificados e mostrados O processo de Dissection Quando o Wireshark l um pacote realiza os seguintes passos 1 Os dados da frame s o passados pela fun o epan dissect run Uma frame a estrutura b sica de comunica o de dados conjunto de bits que cons tituem um pacote 2Fun o que desencadeia o processo de dissection de um pacote 3 4 Programa o 2 A fun o epan dissect run define os ponteiros para a frame column e data e chama a fun o dissect packet 3 A fun o dissect packet cria o primeiro tubuffl e depois chama a fun o dissect frame 4 A fun o dissect frame descodifica os dados da frame e mostra a na janela Decode do GUI 5 A fun o dissect frame chama a fun o dissector_try_port para ver se existem
43. tecta uma mensagem do tipo Trigger Message e tem acesso s mesmas estruturas que a anterior mais o acesso tree do protocolo A fun o come a por recolher a informa o estrutural da mensagem o sequence number as flags o n mero de Synchronous Data Messages e o n mero de Asynchronous Data Messages Estas informa es juntamente com outras informa es da mensagem s o colocadas num array de estruturas em que cada posi o representa um EC Cada posi o do contem as seguintes informa es e N mero da frame da Trigger Message e Tempo da mensagem e Sequence Number e N mero de Synchronous Data Messages por enviar para efeito de de tec o de erros e N mero de Asynchronous Data Messages por enviar para efeito de detec o de erros 39 Descri o Funcional do c digo do dissector para FTT SE e Arvore bin ria com as informa es de cada Synchronous Data Mes sage e rvore bin ria com as informa es de cada Asynchronous Data Mes sage Cada posi o da rvore bin ria indexada pelo Jd da mensagem e possui as seguintes informa es e Numero de fragmentos e liberdade para colocar mais informa o Consoante o n mero de cada tipo de mensagem a ser transmitido s o re colhidas as informa es de cada mensagem o Ide o Fragmentation Number e s o guardadas em estruturas adequadas O pr ximo passo discriminar em summary na coluna Info a quanti dade de mensagens de cada tipo que
44. tree ti ett PROTOABBREV x add an item to the subtree see section 1 6 for more information x proto tree add item PROTOABBREV tree hf PROTOABBREV FIELDABBREV tvb offset len FALSE Continue adding tree items to process the packet here x If this protocol has a sub dissector call it here see section 1 8 Return the amount of data this dissector was able to dissect return tvb length tvb i Esta a fun o principal do dissector nela tem se acesso a varias estru turas que cont m informa o sobre o pacote a ser analisado elas s o packet info pinfo estrutura com variadas informa es sobre o pacote ex tempo tcp port mais informa es no ficheiro epan packet info h tvbuff t tvb estrutura com buffers com a raw data do pacote mais informa es no ficheiro epan tvbuff h Nesta fun o deve se come ar por verificar as informa es principais so bre o pacote para garantir que o pacote pertence ao protocolo que se est analisar Ap s isso recomend vel que se coloque informa o sobre a men sagem na summary window colocando informa o na column e info column recomend vel tambem criar uma subtree para mostrar informa o sobre o protocolo na zona protocol tree da GUI do Wireshark pode ainda colocar se algum processamento de dados nesta fun o mas caso o dissector a imple mentar seja muito complexo recomend vel que se divida o processamento dos d
45. uma nova Trigger Message sem que tenham sidas detectadas todas as Synchronous Data Messages correspondentes ao EC anterior Mensagens Assincronias por enviar Este erro d se quando se de tecta o inicio de um novo EC chegada de uma nova Trigger Mes sage sem que tenham sidas detectadas todas as Asynchronous Data Messages correspondentes ao EC anterior Erro no n mero de sequ ncia da Trigger Message Este erro d se quando se detecta a chegada de uma Trigger Message com o Se quence Number diferente do anterior incrementado de um Para acedermos a uma lista detalhada de todos os erros numa captura podemos aceder a Expert Info ou Expert Info Composite em Analyze na barra de menus Expert Info Lista sequencial de todos os erros Figura 6 1 Expert Info Composite Lista de erros agrupados por tipo de erro Fi gura 6 2 6 3 Filtragem Uma das ferramentas do Wireshark a interface de Display Filters que tem a capacidade de filtrar os pacotes mostrados no GUI por par metros embebidos no dissector Os par metros implementados neste dissector est o a seguir descritos 30 Funcionalidades do dissector FTT SE Figura 6 1 Expert Info FTT Ethemet ERROR 1 Messagem n o incluida na TM FTT Ethemet ERROR 5 Erro no numero de sequencia FTT Ethemet ERROR 3 Mensagens sincronas por enviar Figura 6 2 Expert Info Composite 6 3 1 Tipo Aplicavel a todas as mensagens do protocolo 6 3 Filtragem 31 Intervalo

Download Pdf Manuals

image

Related Search

Related Contents

Dieu veut la vie et la vie en abondance (Genèse 9,1-29)    ZyXEL GS-105B  Exercices de géométrie affine  Operating instructions  Trust Bling Bling  directives importantes lire et conserver  Samsung AZ12PHA دليل المستخدم  PÉRIMÉ - Direction des structures  AC4C1 Owner's Manual  

Copyright © All rights reserved.
Failed to retrieve file