O sistema virtual Windows Server 2008 R2 responde inesperadamente na porta de eco TCP 7

1

Temos um sistema virtual executando o Windows Server 2008 R2 e ele responde na porta TCP 7 (eco). (Ou seja, em resposta a um SYN envia ACK, RST, o que é suficiente para fazer InetAddress # isReachable () retorna true .)

No entanto, este sistema não tem o recurso 'Serviços TCP / IP Simples' habilitado. E verificando netstat -a , não há nada escutando na porta 7.

Então, quem está respondendo às solicitações de eco TCP?

Observe que um sistema físico do Windows 7 , que também não tem 'serviços TCP / IP simples' habilitados, não não responde (como esperado). E ativar esse recurso e iniciar o serviço correspondente do Windows torna netstat -a show

  TCP    0.0.0.0:7              WINDOWS7HOSTNAME:0      LISTENING

(novamente: como esperado).

Até onde vimos agora, nossos sistemas Windows Server 2008/2008 R2 (que são todos virtuais) respondem inesperadamente e os sistemas Windows 7 (que são todos físicos e não possuem 'serviços TCP / IP simples') 'enabled' não responde como esperado.

Minha pergunta: por que um sistema virtual que executa o Windows Server responde na porta de eco TCP 7, sem que 'serviços TCP / IP simples' sejam ativados?

Isso pode ser causado pelo software de virtualização (que eu acho que é o VMware ESX)? Ou isso é um recurso nas edições do Windows Server? Que outra causa poderia haver?

    
por Marnix Klooster 23.03.2013 / 08:53

1 resposta

1

Isso é completamente normal e esperado. Quando você tenta se conectar a uma porta TCP que tem nada escutando , o servidor sempre responde com um pacote "reset" (tendo o sinalizador RST ). Isso está documentado em RFC 793 página 65 , Protocolo de Controle da Transmissão: Especificação do Protocolo :

SEGMENT ARRIVES

    If the state is CLOSED (i.e., TCB does not exist) then

      all data in the incoming segment is discarded.  An incoming
      segment containing a RST is discarded.  An incoming segment not
      containing a RST causes a RST to be sent in response.  The
      acknowledgment and sequence field values are selected to make the
      reset sequence acceptable to the TCP that sent the offending
      segment.

      If the ACK bit is off, sequence number zero is used,

        <SEQ=0><ACK=SEG.SEQ+SEG.LEN><CTL=RST,ACK>

      If the ACK bit is on,

        <SEQ=SEG.ACK><CTL=RST>

      Return.

No entanto, muitos firewalls, incluindo o que vem com o Windows, são configurados para soltar todos os pacotes que o firewall não reconhece - o chamado "modo furtivo". Assim, o firewall do Win7 elimina sua solicitação de conexão antes mesmo de chegar ao driver TCP, pois ele não tem uma regra para aceitar as conexões da porta TCP 7.

(Qual é a coisa mais irritante que já pude adicionar? Em vez de um simples "nada aqui, vá embora", isso causa longos e irritantes tempos limites.)

No seu Windows Server, o TCP responde como pretendido , uma vez que o firewall está inativo ou não configurado para bloquear essa porta.

    
por 23.03.2013 / 13:11