Interpretando a saída wireshark

0

A janela ascii de uma captura wireshark possui muitos pontos (.). O que eles querem dizer exatamente? Quais informações esses pontos implicam?

    
por Minaj 04.08.2016 / 09:14

1 resposta

2

What info do these dots imply?

Eles representam caracteres não imprimíveis - coisas como novas linhas, feeds de carro, EOF, NUL, etc. etc. Você pode olhar o código hexadecimal correspondente (à esquerda) para descobrir qual é o byte real.

Considere este exemplo exibindo o pacote 'Certificado' de um servidor HTTPS para o cliente. A mensagem 'Certificado' TLS contém dados binários e textuais; o texto vem do próprio certificado:

Observequeselecioneiocampo'Comprimentodocertificado',quemostraqueotamanhodocertificadoéde1336bytes.Massevocêolharparaosbytesdestacados,como"texto" à direita, ele não diz "1336", diz "..8". Isso porque "..8" é a representação ASCII de 0x000538.

Se você olhar para uma tabela ASCII , verá que 0x00 é "NUL (caractere nulo)", 0x05 é "ENQ (consulta)" e 0x38 é "8". NUL e ENQ não são imprimíveis - eles não podem ser exibidos - então o Wireshark imprime um "." em vez disso.

Mas no protocolo subjacente, esses não são textos em nenhum caso. É um inteiro de 24 bits - o hexadecimal 000538 é igual ao decimal 1336, indicando que o seguinte certificado tem 1336 bytes de comprimento.

E indo mais abaixo, uma vez que o certificado é iniciado, vemos dados de texto ASCII normais ("Entrust, Inc.") misturados com dados não textuais binários ("..U ... 0").

Mesmo com um protocolo totalmente "baseado em texto" como o HTTP, você verá "." para caracteres não imprimíveis. Observe o ".." após "Conexão: fechar", que corresponde a "Retorno de carro - Alimentação de linha" (CRLF ou \ r \ n):

Thismeanswiresharkusesasciitodecodebitstrings?Whynotusesomethinglikeunicodewhichwouldunderstandalltextirrespectiveofthelanguage?

Emsuma,oWiresharkestámeramenteexibindobytes,quepodemounãosertexto,masseforemtextos,provavelmenteserãoemASCIIenãoemUnicode.

OWiresharkexibebytesdedados-stringebinário-comocaracteresASCII,como'.'sendousadoparadenotarqualquercaracterenãoimprimível.Existemmuitos,muitosprotocolosderedequeusamcaracteresASCIIparasecomunicarnarede-FTP,SMTP,Telnet,HTTP,IRC,etc.etc.Seumprotocoloderedeusatextoparasecomunicar,équasecertoqueestejausandoASCII.

NãoestoufamiliarizadocomnenhumprotocoloqueuseUTF/Unicodecomobaseparacomunicação.Qualquerprotocolo-comoHTTP-quedesejacomunicardadosdoUnicodesinalizaránacamadadoaplicativoqueosseguintesbytesdevemserinterpretadoscomoUnicode.(Eunãoseiaocerto,maseuesperariaqueosintérpretesdoWiresharkquepodemcapturareexibiradequadamenteexistam,maselesaindaexibiriamASCIInasjanelas"Packet Bytes", porque é isso que são - bytes - unidades de 8 bits - melhor exibido em um formato de texto de 8 bits como ASCII.)

    
por 04.08.2016 / 13:42