Uma porta pode usar várias interfaces para comunicação?

2

Meu entendimento do seguinte comando:

tcpdump -i any -nn port X
  • tcpdump - > Inicie o serviço para capturar pacotes.

  • -i any - > Em qualquer / todas as interfaces.

  • -nn - > Não converta endereços de host em nomes (Evite pesquisa de DNS) e não converta protocolos e números de porta.

  • port X - > Aplique isso regra para a porta X

Assumindo que o acima está correto, sinto que este comando implica que a porta (endpoint lógico para o processo) X poderia estar usando qualquer interface disponível para se comunicar com outro processo / dispositivo etc ... e esse tcp dump vai para capturar todos os pacotes em todas essas interfaces disponíveis.

Existe alguma maneira de ver uma lista de todas as interfaces disponíveis disponíveis para uma determinada porta (comando?)?

    
por MarkMark 18.05.2018 / 10:56

1 resposta

4

Os números das portas fazem parte dos cabeçalhos dos pacotes TCP e UDP, e o número da porta usado é praticamente ortogonal à interface física usada para se comunicar. (Por outro lado, as interfaces são geralmente ligadas a endereços IP, mas isso não é realmente necessário.)

Um aplicativo pode se vincular a um único endereço IP / interface e, em seguida, você pode acabar com dois aplicativos vinculados a diferentes endereços IP, usando o mesmo número de porta. Ou, um único aplicativo pode se ligar a diferentes interfaces separadamente e usar o mesmo número de porta em todas elas. Ou use diferentes. Números de portas e interfaces existem em camadas diferentes, portanto não há restrições sobre quais portas podem ser usadas em uma interface específica.

Observe também que TCP e UDP têm números de porta entre 1 (0) e 65535, mas os espaços numéricos são distintos. Um aplicativo pode usar a porta TCP 1234, enquanto outro usa a porta UDP 1234.

Sobre a terminologia, dizer que uma porta "usa" uma interface ou que uma interface está "disponível" para uma porta específica não faz muito sentido. Números de porta são apenas identificadores, eles não "fazem" nada.

Apesar de sua última sentença também parecer combinar portas com comandos, o que é um pouco impreciso. Muitos aplicativos têm uma porta conhecida (SSH usa TCP / 22, HTTP usa TCP / 80 etc.), mas não há nada para impor isso: você pode executar um servidor SSH na porta 2222 e algo completamente diferente na porta 22.

    
por 18.05.2018 / 11:19