Pacotes TCP não capturados pelo listener PHP

0

Eu tenho um dispositivo (localizador de GPS) que está enviando pacotes TCP (eu acho que sim) para o meu servidor em determinado endereço IP e através da porta dada. Como só tenho acesso SSH a esse servidor, abri duas sessões e execute tcpdump (com parâmetros apropriados) em uma delas e meu próprio ouvinte (escrito em PHP) na segunda.

Quando me conecto com o IP e a porta de qualquer um dos meus navegadores, vejo claramente o tráfego capturado pelo tcpdump e pelo meu próprio ouvinte. Então, presumo que tudo funcione bem.

No entanto, quando eu forço meu localizador a enviar dados para esse IP / porta, somente tcpdump responde, mostrando que ele capturou algo , enquanto a saída do meu próprio ouvinte permanece vazia.

Sou novato em redes e TCP, então talvez eu tenha assumido erroneamente que esta é uma conexão TCP. Alguém com mais experiência pode confirmar isso, analisando o que tcpdump capturou:

10:43:37.028958 IP 87.111.103.7.2020 > 192.168.1.2.7777: Flags [S], seq 1457768261, win 5120, options [mss 1360,nop,wscale 0,nop,nop,TS[|tcp]>
10:43:37.029564 IP 192.168.1.2.7777 > 87.111.103.7.2020: Flags [S.], seq 1118512962, ack 1457768262, win 5792, options [mss 1460,nop,nop,TS[|tcp]>
10:43:37.526145 IP 87.111.103.7.2020 > 192.168.1.2.7777: Flags [.], ack 1, win 5200, options [nop,nop,TS val 79 ecr 35113125], length 0
10:43:37.526934 IP 192.168.1.2.7777 > 87.111.103.7.2020: Flags [P.], ack 1, win 362, options [nop,nop,TS val 35113175 ecr 79], length 152
10:43:38.225678 IP 87.111.103.7.2020 > 192.168.1.2.7777: Flags [.], ack 153, win 5048, options [nop,nop,TS val 80 ecr 35113175], length 0
10:43:43.765708 IP 87.111.103.7.2020 > 192.168.1.2.7777: Flags [P.], ack 153, win 5200, options [nop,nop,TS val 89 ecr 35113175], length 119
10:43:43.765768 IP 192.168.1.2.7777 > 87.111.103.7.2020: Flags [.], ack 120, win 362, options [nop,nop,TS val 35113799 ecr 89], length 0
10:43:44.445757 IP 87.111.103.7.2020 > 192.168.1.2.7777: Flags [P.], ack 153, win 5200, options [nop,nop,TS val 91 ecr 35113175], length 119
10:43:44.446014 IP 192.168.1.2.7777 > 87.111.103.7.2020: Flags [.], ack 120, win 362, options [nop,nop,TS val 35113867 ecr 91], length 0
10:47:38.675424 IP 192.168.1.2.7777 > 87.111.103.7.2020: Flags [F.], seq 153, ack 120, win 362, options [nop,nop,TS val 35137290 ecr 91], length 0
10:47:41.636064 IP 87.111.103.7.2020 > 192.168.1.2.7777: Flags [.], ack 154, win 5200, options [nop,nop,TS val 568 ecr 35137290], length 0
10:47:41.655520 IP 87.111.103.7.2020 > 192.168.1.2.7777: Flags [R.], seq 120, ack 154, win 5200, length 0

Esta é realmente uma conexão TCP (tipo de pacote)? Se sim, então alguém pode ter alguma idéia, por que meu ouvinte não está respondendo, enquanto responde corretamente na conexão TCP de um navegador? Se esta não é uma conexão TCP, então o que é? O que meu ouvinte deve ouvir, para capturar esse tipo de tráfego?

EDIT : O que mais me incomoda aqui é que cada conexão do meu localizador é marcada por tcpdump com length 0 (enquanto a resposta sempre tem algum tamanho). Mas notei que as conexões do navegador também são marcadas com length 0 , então talvez isso não seja um problema real.

    
por trejder 14.09.2012 / 11:12

2 respostas

1

só para responder a última parte (você diz que isso é o mais preocupante)

Isto é o que eu vejo: todos os dados têm um comprimento, todos sem dados (syn, ack, fin, rst) têm comprimento 0. Parece OK.

87.111.103.7 port 2020      --      192.168.1.2 port 7777
                        syn ->
                        <- syn ack
                        ack ->

                        <-data
                        ack ->

                        data ->
                        <- ack 

                        data ->
                        <- ack 

                        <- fin

                        fin ->
                        rst ->
    
por 14.09.2012 / 15:36
0

Seu lixo parece bom. Seu dispositivo (suponho que é o 192.168.1.2) envia pacotes de comprimento maiores que 0 e seu servidor confirma o recebimento via pacotes ACK de 0 byte. Certamente será útil incluir -XX em sua linha de comando do tcpdump.

tcpdump -XX port 2020
    
por 14.09.2012 / 11:49