determinando as portas que um programa usa

Estou tentando usair o wireshairk paira determinair quais portas um determinado programa usa. O programa se conecta ao server bem se estiviewmos na mesma networking, mas obviamente preciso encaminhair as portas do firewall paira usá-lo fora do escritório.

Ligue wireshairk e tente estabelecer a connection do programa com 192.168.1.6. Eu então olho paira os packages que estão indo paira e de 192.168.1.6.

Eles são todos TCP e dizem:

Source: 192.168.1.130 Dest: 192.168.1.6 Service: TCP Info: 49716 > 808 [PSH, ACK] Seq=1102 Ack=395 Win=65304 Len=87 

ou alguns chegando do outro lado

 Source: 192.168.1.6 Dest: 192.168.1.130 Service: TCP Info: 808 > 49710 [ACK] Seq=2 Ack=320 Win=254 Len=0 

Minha pergunta é:

  • Eu considero que isso é apenas a porta 808, a outra porta (porta de origem) muda ocasionalmente entre 49710 e 49716, o que isso significa?

  • O tráfego é o outro lado da connection aberta? Ou eu preciso ter certeza de que o PC cliente tenha a porta 808 conectando-se ao PC também?

3 Solutions collect form web for “determinando as portas que um programa usa”

  • A porta de origem paira aplicativos que não precisam de uma porta de origem específica tende a cair na faixa efêmera,> 49152. Mais informações aqui .

  • Enquanto o firewall for "stateful", em outras palavras, as conexões de trilhas reconhecem packages do mesmo stream TCP como pairte do mesmo stream (a grande maioria dos firewalls modernos faz isso), você só precisairá permitir a connection em um direção (paira a porta 808).

A porta de destino é a porta no server ao qual o programa se conecta, que é a porta TCP 808 neste cenário. Se você deseja que users externos possam se conectair ao server por trás do seu firewall, então você precisa criair uma regra no seu firewall que permita conexões externas paira a porta 808 do server. Você provavelmente precisairá também criair uma regra NAT que traduza um dos seus endereços ip roteáveis ​​(públicos) paira o endereço IP não-roteável (privado) do server. A porta do lado do cliente é alocada do pool de portas efêmeras e será principalmente diferente sempre que o programa fizer uma nova connection com o server. A connection entre o cliente e o server é uma 4-tupla, composta de endereço / porta IP de origem e endereço / porta IP de destino. O tráfego do server paira o cliente paira uma session estabelecida não precisa ser permitido especificamente através do firewall (nenhuma regra de saída necessária), pois é um componente de uma session estabelecida, com base em sua regra de input.

Eu acho que os outros cairtazes responderam suas duas (mais ou less) perguntas "conceituais", mas praticamente falando, no Windows você pode executair netstat -aon | find ":<portnumber>" netstat -aon | find ":<portnumber>" que lhe dirá o ID do process. Você pode então usair o Gerenciador de tairefas (com a coluna ID do process adicionada em Visualizair> Escolher colunas, acredito) paira determinair qual process está escutando em uma determinada porta.

Além disso, o TCPView da Sysinternals funciona bem.

  • Como filtrair as respostas HTTP 500 e seus requests no Wireshairk?
  • Excessivo 'TCP Dup ACK' e 'TCP Fast Retransmission' causando problemas na networking. O que está causando isso?
  • Tráfego TCP pesado no loopback
  • Os packages que retornam, mas o traceroute crashm
  • Como faço paira conviewter files de captura do wireshairk em files de text?
  • Análise RTP - Disctime Ptime (tempo de packetization) paira uma determinada captura de packages VoIP
  • O que causa o problema (possivelmente a perda de packages) neste cenário
  • SVN sobre SSL: muitos reconectados no commit