Como parar o mac das solicitações de encaminhamento de porta automática do host local?

0

Eu tenho um aplicativo que está em execução e atendendo a solicitações locais na porta 4001. Sempre que eu inicio um segundo aplicativo para fazer solicitações através da porta 4001, meu mac parece estar encaminhando automaticamente a solicitação para uma porta diferente. Por exemplo, quando eu verifico quais processos estão sendo executados na porta 4001 antes de iniciar o segundo aplicativo, obtenho:

Grants-MacBook-Pro:sbin grantseward$ sudo lsof -i -n -P | grep 4001
Password:
java        113    grantseward   52u  IPv6 0x3465d3725017ec8d      0t0  TCP *:4001 (LISTEN)

Mas assim que eu inicio o segundo aplicativo, ele originalmente envia solicitações para a porta 4001, mas elas são roteadas para 49509 e essa porta é fechada / não o que meu outro aplicativo está ouvindo (a segunda porta também muda cada vez Eu paro e começo o segundo aplicativo, então não posso simplesmente mudar onde estou ouvindo).

Grants-MacBook-Pro:sbin grantseward$ sudo lsof -i -n -P | grep 4001
java        113    grantseward   52u  IPv6 0x3465d3725017ec8d      0t0  TCP *:4001 (LISTEN)
java        113    grantseward   59u  IPv6 0x3465d3725f0a988d      0t0  TCP 127.0.0.1:4001->127.0.0.1:49505 (CLOSE_WAIT)
java        121    grantseward   80u  IPv6 0x3465d3726032d38d      0t0  TCP 127.0.0.1:49506->127.0.0.1:4001 (ESTABLISHED)

Alguma idéia de como eu posso alterar as regras para ter solicitações enviadas para 4001 terminam em 4001?

    
por user416988 09.02.2015 / 06:02

1 resposta

0

O que você está vendo é normal; não é que a conexão esteja sendo encaminhada para a porta 49505, é que um programa cliente em execução na porta 49505 está se conectando ao serviço na porta 4001. Uma sessão TCP é definida pelo endereço IP e pelos números de porta das duas extremidades da conexão; Nesse caso, você tem uma sessão entre 127.0.0.1:4001 (ID do processo 113, o programa do servidor) e 127.0.0.1:49505 (ID do processo 121, o programa cliente).

BTW, toda vez que você executar novamente o cliente (ou o cliente abrir uma nova conexão), ele geralmente receberá uma nova porta de origem (em vez de 49505).

    
por 09.02.2015 / 19:56