Ottenere l'indirizzo IP di un computer collegato direttamente


21

Ho collegato il mio computer funzionante con un altro utilizzando un cavo Ethernet diretto. L'altra macchina è un computer desktop che non ha periferiche (inclusi tastiera, mouse e monitor) collegati e voglio accedervi usando RDP e SMB. Gli indirizzi IP sono configurati automaticamente, quindi ottiene qualcosa nell'intervallo 169.254.x.x.

Posso aspettare che Windows riconosca l'altro computer o scansionare gli indirizzi IP, ma entrambi impiegano un tempo lungo e imprevedibile. Esiste un modo più rapido per riconoscere la macchina sull'altra estremità di un cavo Ethernet diretto? Ho pensato di fare una trasmissione "Ethernet ping" e invertire ARP ma non riesco a trovare alcuna istruzione per questa tecnica.

Risposte:


8

Al momento connetti entrambi i computer, proveranno a trovare un server DHCP. Dopo alcuni secondi la richiesta scadrà e il computer assegnerà un indirizzo auto-configurato a se stesso. L'host si assegnerà quindi casualmente un indirizzo IP locale di collegamento e trasmetterà una richiesta arp sulla rete per vedere se è in uso

Quanto sopra è un riepilogo riscritto di https://en.wikipedia.org/wiki/Link-local_address

Possiamo usare <any> strumento di acquisizione di pacchetti per acquisire quei pacchetti e stampare gli indirizzi IP di tali richieste ARP.

Catturare i pacchetti arp usando la GUI di WireShark (tutte le piattaforme)

  1. Cattura su tutte le interfacce: sì (in alternativa, seleziona l'interfaccia corretta se la capisci)
  2. Filtro di acquisizione: arp
  3. Inizia l'acquisizione e cerca nella colonna di destra gli indirizzi IP del TUO pc e dell'ALTRO pc

Catturare pacchetti arp usando cli tcpdump (Testato su Linux)

  1. Avvia / accedi a un'interfaccia terminale
  2. Esegui il programma "sudo tcpdump arp"
  3. Gli indirizzi IP del TUO PC e dell'ALTRO PC verranno visualizzati sullo schermo

18

Un ping IP broadcast potrebbe funzionare - non tutti i sistemi rispondono, ma alcuni lo fanno in modalità 169.254. Prova ping 169.254.255.255(esigenze -bsu Linux) o ping ff02::1(esigenze ping6su Linux e possibilmente un ambito come ff02::1%eth0).

L'invio diretto di una ricerca di nomi NetBIOS (utilizzo nbtstat -a) potrebbe funzionare, se esegue Windows e se si conosce il nome del computer. Non conosco un equivalente LLMNR.

L'autoconfigurazione 169.254 prevede l'invio di alcune sonde ARP con il proprio indirizzo dell'host - è possibile vedere quelle in Wireshark, Tshark, tcpdump.


"Ethernet ping" esiste , ma funziona solo a livello Ethernet, non ti dirà nulla sull'IP. (A volte è implementato nella NIC stessa, ma per lo più non è affatto implementato.)

Esiste anche "Reverse ARP", ma neanche quasi mai effettivamente implementato: il suo uso principale è stato sostituito da BOOTP e successivamente da DHCP.


2
Il ping IP non ha funzionato ma nbtstat -a <computer_name> -cfornisce l'indirizzo IP desiderato! Grazie!
Melebio,

2
Esiste ovviamente anche il metodo "estremo" per inviare richieste ARP per tutti gli indirizzi IP 65024 e vedere per quali si ottiene una risposta.
Kasperd,

L'OP dice già "Posso ... scansionare gli indirizzi IP ma [questo] richiede molto ... molto tempo" nella domanda.
Scott,

Non se hai buoni strumenti. Zmap può scansionare l'intera Internet IPv4 in poche ore, ad esempio. Fare una scansione ARP attraverso 64k indirizzi può essere molto veloce.
user1686

6

Se si configura la macchina per ottenere un indirizzo IP da un server DHCP, ovviamente, ci deve essere un server DHCP nella rete. Dato che si utilizza un cavo diretto (incrociato) per connettere entrambi i computer, non esiste un server DHCP, quindi Windows crea un falso indirizzo IP casuale. Per questo motivo, ci vuole molto tempo per trovarsi, perché non esiste un server che gestisca la connessione per te.

Il metodo migliore sarebbe quello di aggiungere un router con DHCP nel mix, poiché accelererà notevolmente le cose. Ma se non vuoi spendere soldi per questo, la tua seconda migliore opzione è quella di configurare manualmente gli indirizzi IP su entrambe le macchine su 192.168.0.1e 192.168.0.2con una maschera di sottorete di255.255.255.0


4

Se la seconda macchina è completamente senza testa, ti consigliamo di utilizzare DHCP di qualche tipo. Inserire un router tra i due sistemi di cui è possibile visualizzare la schermata di stato oppure installare un'applicazione server DHCP sul computer in uso per fornire l'indirizzo al sistema senza testa.


1

È possibile configurare il PC in modo che funga da server DHCP.

http://www.dhcpserver.de/cms/ - È quello che uso. Ci vuole solo un minuto per l'installazione e funziona benissimo.

Dai alla tua scheda di rete Ethernet un indirizzo IP statico (come 169.254.1.1:) e una sottorete (come:) 255.255.0.0e nient'altro.

Scegliere la scheda di rete Ethernet come adattatore del server DHCP nell'applicazione menzionata in precedenza.

Esegui l'applicazione del server DHCP, riavvia il server o il dispositivo di cui stai cercando l'IP e, una volta avviato, riceverà un indirizzo IP dall'intervallo definito dai server DHCP. È quindi possibile utilizzare l'interfaccia Web inclusa con il server DHCP per vedere quale indirizzo IP è stato emesso dal nuovo server o semplicemente eseguire il ping per eseguire la scansione di tutti gli IP nell'intervallo DHCP.

Veloce, facile e intuitivo. Almeno credo.


0

Prima di eseguire la risoluzione dei problemi, assicurarsi di verificare che siano presenti luci di collegamento verdi statiche nella vista posteriore delle schede di rete. Se non si illuminano di verde, è necessario assicurarsi di averli collegati tramite un cavo incrociato. Verificare inoltre che le impostazioni duplex delle carte siano le stesse (full / half duplex), altrimenti si potrebbe verificare una luce color ambra.

Una volta verde, dovrai assegnare staticamente gli indirizzi. Non ti ho raccomandato di eseguire un server DHCP per l'assegnazione se questo è sulla tua rete di lavoro (potrebbe rompere le cose alla grande se il tuo server DHCP inizia a rispondere alle richieste di altre macchine trasmissioni di rilevamento dhcp sulla rete)


-1

Che ne dici di andare alla macchina # 2 ed eseguire un ping lì! Presumo che tu abbia accesso fisico alla macchina e privilegi di accesso.

A seconda di quale sia lo scopo di questo sforzo (e del sistema operativo), puoi anche: - Mappare sull'altro computer (supponendo che tu abbia il nome del computer) e ottenere i file necessari - RDP / SSH tramite il nome del computer.


1
L'OP dice "L'altra macchina non ha periferiche collegate e voglio accedervi usando RDP ..." nella domanda. Interpreto la prima parte di ciò per indicare che non ha tastiera o monitor e, chiaramente, l'OP è a conoscenza di RDP. E il nome del computer non è un proiettile magico: funziona solo se il primo computer "sa" come mappare il nome a un indirizzo IP. E il punto centrale della domanda è che "Gli indirizzi IP sono configurati automaticamente", quindi le macchine non si conoscono reciprocamente.
Scott,

-1

Non sono un esperto, ma puoi semplicemente guardare ipconfignella finestra cmd per trovare l'indirizzo IP sul secondo computer che è un indirizzo IP automatico se non c'è DHCP o semplicemente configurare manualmente l'indirizzo IP per essere sulla stessa rete e sottorete come primo computer.


2
L'OP dice "L'altra macchina non ha periferiche collegate ..." nella domanda. Interpreto questo per indicare che non ha tastiera o monitor.
Scott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.