Obtendo o endereço IP de um computador conectado diretamente

21

Conectei meu computador de trabalho a outro usando um cabo Ethernet direto. A outra máquina é um computador de mesa que não possui periféricos (incluindo teclado, mouse e monitor) conectados e desejo acessá-lo usando RDP e SMB. Os endereços IP são configurados automaticamente, portanto, obtém algo dentro do intervalo 169.254.x.x.

Posso esperar até que o Windows reconheça a outra máquina ou verifique os endereços IP, mas ambos levam um tempo longo e imprevisível. Existe alguma maneira mais rápida de reconhecer a máquina na outra extremidade de um cabo Ethernet direto? Eu pensei em fazer uma transmissão "Ethernet ping" e reverter o ARP, mas não consigo encontrar nenhuma instrução para esta técnica.

Melebius
fonte

Respostas:

8

No momento em que você conectar os dois computadores, eles tentarão encontrar um servidor DHCP. Após alguns segundos, a solicitação atinge o tempo limite e o computador atribui um endereço configurado automaticamente a si mesmo. O host atribuirá aleatoriamente a si mesmo um endereço IP local de link e transmite uma solicitação arp pela rede para verificar se está em uso.

O texto acima é um resumo reescrito de https://en.wikipedia.org/wiki/Link-local_address

Podemos usar a <any> ferramenta de captura de pacotes para capturar esses pacotes e imprimir os endereços IP dessas solicitações de ARP.

Capturando pacotes arp usando a GUI do wireshark (todas as plataformas)

  1. Captura em todas as interfaces: sim (alternativamente, selecione a interface correta se você a entender)
  2. Filtro de captura: arp
  3. Inicie a captura e procure na coluna da direita os endereços IP do SEU pc e do OUTRO pc

Capturando pacotes arp usando o cli tcpdump (Testado no Linux)

  1. Iniciar / fazer login em uma interface de terminal
  2. Execute o programa "sudo tcpdump arp"
  3. Os endereços IP do SEU PC e do OUTRO PC aparecerão na tela
Ferrybig
fonte
18

Um ping de IP de broadcast pode funcionar - nem todos os sistemas respondem a ele, mas alguns o fazem quando no modo 169.254. Tente ping 169.254.255.255(precisa -bno Linux) ou ping ff02::1(precisa ping6no Linux e possivelmente um escopo como ff02::1%eth0).

O envio direto de uma pesquisa de nome NetBIOS (usando nbtstat -a) pode funcionar, se ele executar o Windows e se você souber o nome do computador. Não conheço um equivalente LLMNR.

A configuração automática 169.254 envolve o envio de algumas análises de ARP com o próprio endereço do host - você pode ver aquelas em Wireshark, tshark, tcpdump.


O "ping Ethernet" existe , mas só funciona no nível Ethernet, não informa nada sobre IP. (Às vezes, é implementado na própria NIC, mas na maioria das vezes não é implementado.)

O "ARP reverso" também existe, mas quase nunca também foi implementado - seu uso principal foi substituído pelo BOOTP e posteriormente pelo DHCP.

user1686
fonte
2
O ping do IP não funcionou, mas nbtstat -a <computer_name> -cfornece o endereço IP desejado! Obrigado!
Melebius 26/11/15
2
Naturalmente, também existe o método "extremo" de enviar solicitações de ARP para todos os endereços IP 65024 e ver para quais você recebe uma resposta.
kasperd
O OP já diz "Eu posso ... digitalizar endereços IP, mas [isso] leva muito tempo ... quantidade de tempo". Na pergunta.
1616 Scott
Não, se você tiver boas ferramentas. O Zmap pode digitalizar toda a Internet IPv4 em questão de horas, por exemplo. Fazer uma varredura ARP em endereços de 64k pode ser muito rápido.
user1686
6

Se você configurar sua máquina para obter um endereço IP de um servidor DHCP, obviamente, deve haver um servidor DHCP na rede. Como você usa um cabo direto (cruzado) para conectar os dois computadores, não há servidor DHCP; portanto, o Windows cria um endereço IP aleatório falso. Por esse motivo, leva muito tempo para nos encontrarmos, porque não há servidor que gerencia a conexão para você.

O melhor método seria adicionar um roteador com DHCP na mistura, pois isso acelerará significativamente as coisas. Mas se você não deseja gastar dinheiro com isso, sua segunda melhor opção é configurar manualmente os endereços IP nas duas máquinas para 192.168.0.1e 192.168.0.2com uma sub-máscara de255.255.255.0

LPChip
fonte
4

Se a segunda máquina estiver completamente sem cabeça, convém usar algum tipo de DHCP. Coloque um roteador entre os dois sistemas cuja tela de status você pode ver ou instale um aplicativo de servidor DHCP no computador em funcionamento para fornecer ao sistema sem cabeça o endereço.

Zel
fonte
1

Você pode configurar o seu PC para atuar como um servidor DHCP.

http://www.dhcpserver.de/cms/ - É o que eu uso. Leva apenas um minuto para configurar e funciona muito bem.

Basta fornecer à sua NIC Ethernet um endereço IP estático (como 169.254.1.1:) e uma sub-rede (como:) 255.255.0.0e nada mais.

Escolha a NIC Ethernet como seu adaptador de servidor DHCP no aplicativo mencionado anteriormente.

Execute o aplicativo do servidor DHCP, reinicie o servidor ou o dispositivo que você está procurando e, uma vez inicializado, receberá um endereço IP do intervalo definido dos servidores DHCP. Em seguida, você pode usar a interface da web incluída no servidor DHCP para ver qual endereço IP o novo servidor foi emitido ou simplesmente fazer ping na varredura de todos os IPs no intervalo DHCP.

Rápido, fácil e intuitivo. Pelo menos acho que sim.

Jack_Hu
fonte
0

Antes da solução de problemas, verifique se há luzes de link verde estáticas presentes na vista traseira das placas de rede. Se eles não acenderem em verde, será necessário garantir que você os conecte através de um cabo cruzado. Verifique também se as configurações de duplex dos cartões são as mesmas (full / half duplex); caso contrário, poderá ocorrer uma luz de cor brasa.

Uma vez verde, você precisará atribuir estática aos endereços. Não recomendo que você execute um servidor dhcp para atribuição, se ele estiver na sua rede de trabalho (pode ser muito complicado se o servidor dhcp começar a responder a solicitações de outras máquinas transmissões de descoberta dhcp na rede)

NotAdmin Dave
fonte
-1

Que tal ir para a máquina # 2 e executar um ping lá! Suponho que você tenha acesso físico à máquina e privilégios de login.

Dependendo do objetivo desse empreendimento (e do sistema operacional), você também pode: - Mapear para o outro computador (supondo que você tenha o nome do computador) e obter os arquivos necessários - RDP / SSH via nome do computador.

Paul Douglas
fonte
1
O OP diz: "A outra máquina não possui periféricos conectados e quero acessá-la usando o RDP ..." na pergunta. Eu interpreto a primeira parte disso como significando que ele não possui teclado ou monitor e, claramente, o OP conhece o RDP. E o nome do computador não é um item mágico - ele funciona apenas se o primeiro computador "souber" como mapear o nome para um endereço IP. E o ponto principal da questão é que "os endereços IP são configurados automaticamente", para que as máquinas não se conheçam.
1616 Scott
-1

Eu não sou especialista, mas você pode simplesmente olhar na ipconfigjanela do cmd para encontrar o endereço IP no segundo computador, que é um endereço IP automático se não houver DHCP ou apenas configurar manualmente o endereço IP na mesma rede e sub-rede como o primeiro computador.

Chris
fonte
2
O OP diz "A outra máquina não possui periféricos conectados ..." na pergunta. Interpreto que isso significa que não possui teclado ou monitor.
21415 Scott Scott