Como saber quem está ouvindo a porta 80 no Windows no caso multihomed? [duplicado]

2

Como saber quem está ouvindo a porta 80 no Windows?

Não sugira usar

netstat -aon | findstr :80

porque está reportando o PID de NT Kernel & System , que é uma informação inútil.

Eu preciso saber o nome exato do componente para controlá-lo.

    
por Dims 10.03.2014 / 09:34

2 respostas

4

Bem, vamos fazer uma resposta.

O que você está vendo provavelmente é o resultado de um programa que usa http.sys o Mecanismo HTTP do Modo Kernel do Windows introduzido no Windows Server 2003 (e XP?). Ele permite que os desenvolvedores contornem a limitação de que uma porta de escuta só pode ser atendida por um programa por vez. Com http.sys , um programa registra um namespace, por ex. %código%. O programa agora recebe todas as solicitações que começam com o namespace registrado. Ao mesmo tempo, outro programa poderia ouvir em http://192.168.1.2:80/helloworld .

Outro efeito colateral é que mesmo os programas "não-root" podem escutar na porta 80, desde que uma configuração única tenha sido concluída.

Naturalmente, a Microsoft não desenvolveu isso porque é tudo divertido e jogos. Serviços de Informações da Internet (IIS) usa http://192.168.1.200:80/helloworld para escutar. Então, este é um candidato provável no seu caso.

Se nenhum programa tiver namespaces registrados, http.sys parará de ouvir.

http.sys deve ser capaz de enumerar todos os namespaces ativos.

    
por 10.03.2014 / 10:00
2

Você pode experimentar o TcpView , mas se for de fato no kernel (como em - um socket aberto por um driver), então não há como dizer exatamente o que controla o socket. Isso é mesmo se você usar algo como ProcMon para fazer o rastreamento de inicialização e capturar o momento exato de um socket ficando ligado a tcp / 80. O que você precisa é de uma variação do ProcMon que também capture um rastreamento de pilha para cada evento e eu não tenha visto uma ferramenta como essa.

Mas tente primeiro o TcpView. As chances são de que é realmente um serviço de espaço do usuário que você está procurando e não um componente do kernel.

    
por 10.03.2014 / 09:44