Vamos aprender a usar dois comandos básicos do wireshark para filtrar o submit_sm e o submit_resp de um envio SMPP para uma SMSC celular.

O wireshark é um analisador de protocolo free muito usado. Caso ainda não o tenha faça o download aqui .

O submit_sm trata-se do pacote de envio da sua aplicação, já o subimit_resp corresponde a resposta da SMS-C à sua requisição.

Para filtrarmos ambos em um só comando temos alguns passos a seguir:

1) Primeiramente faça a captura do tráfego usando o comando tcpdump diretamente de seu gateway de envio:

<br /> /usr/sbin/tcpdump -Xns64000 -i eth0 host 192.168.168.103 -w /tmp/captura_smpp_`date +%Y%m%d%H%M%S`.pcap<br />

Onde 192.168.168.103 é o ip da SMSC.

2) Feita a captura salve-a em sua estação de trabalho e abra usando o wireshark.

3) Tendo em mãos o MSISDN , ou seja, o número do celular destinatário use o filtro:

<br /> smpp.destination_addr == "5521XXXXX8210"<br />

smpp1

4) Após identificar o submit_sm correspondente procure pelo número da sequência smpp e o número da porta tcp de origem deste segmento.

Neste exemplo temos a sequência smpp = 3658 e a porta tcp de origem = 54654

tcp-source

smpp_sequence

 

5) Agora use o filtro abaixo para filtrar também o submit_resp correspondente:

<br /> (smpp.command_id == 0x80000004 and smpp.sequence_number == 3658 and tcp.port == 54654) || ( smpp.destination_addr == "5521XXXXX8210" and smpp.sequence_number == 3658 and smpp.command_id == 0x00000004 and tcp.port == 54654)<br />

smpp2

Pronto, agora você possui 1 único filtro tanto para os envios ( submit_sm ) quanto para as respostas ( submit_resp) aos seus envios SMPP..