Sto scrivendo un programma in cui ci si connette, per vari motivi, ad altri computer in una LAN. Tuttavia, piuttosto che dover inserire l'indirizzo IP per più computer (un dolore nel sedere), mi chiedevo se c'è un modo per elencare gli indirizzi IP di tutti i computer in una LAN. Ho cercato tutto il giorno e finora non ho trovato nulla di adatto. È perché non esiste nulla di simile? Grazie in anticipo.Elencare l'indirizzo IP di tutti i computer connessi a una singola LAN
MODIFICA: Sembrerebbe che con le molte visualizzazioni che questo post sta ottenendo, dovrei pubblicare la mia soluzione reale. In generale, le convenzioni di denominazione per gli indirizzi IP dei computer su una LAN sono le stesse. ad esempio 192.168.2. *, * viene sostituito con qualsiasi numero valido. Il mio programma rileva l'indirizzo IP, lo visualizza all'utente, quindi richiede i primi 3 blocchi di IP. Quindi esegue la scansione sequenziale fino a 200 nella convenzione di denominazione IP specificata eseguendo il ping e in attesa di una risposta. Nessuna risposta, nessun computer. Può fare tutto ciò che puoi fare con un IP una volta che sa di avere un computer dietro.
È possibile ottenere la subnet e scorrere gli indirizzi disponibili per eseguirne il ping. Ma questo non sarebbe di aiuto per quelli che sono appena spenti. Se si ha accesso, è possibile consultare i file di lease DHCP –
'ARPing', come descritto da Jason, è l'unica soluzione cross-platform e firewall-difendibile. L'approccio WNetEnumResource() di BlueRaja è ragionevole se sei limitato al boxen di Windows. Gli approcci scanning/nmap hanno troppi draghi con firewall basati su host. Non c'è un richiamo magico/una chiamata API. L'API di iphelper SendARP() è probabilmente la scelta migliore: http://msdn.microsoft.com/en-us/library/aa366358%28VS.85%29.aspx –
Perché non 254? (255 in subnet più grandi) – Deanna