Domanda

Sto scrivendo un programma in cui ci si connette, per vari motivi, ad altri computer in una rete LAN. Tuttavia, invece di dover inserire l'indirizzo IP per più computer (un dolore nel culo), mi chiedevo se esiste un modo per elencare gli indirizzi IP di tutti i computer in una rete LAN. Ho studiato tutto il giorno, e di come ancora trovato niente di adatto. È questo perché nulla del genere esiste? Grazie in anticipo.

Modifica Sembrerebbe che con i molti punti di vista questo post sta ottenendo, devo inviare la mia soluzione attuale. In generale, le convenzioni di denominazione per gli indirizzi IP computer su una LAN sono gli stessi. esempio essendo 192.168.2. *, * essere sostituito con qualsiasi numero valido. Il mio programma rileva l'indirizzo IP, visualizza all'utente, poi chiede per i primi 3 blocchi di IP. Si esegue quindi una scansione sequenziale fino a 200 nella proposta convenzione di denominazione IP con il ping e in attesa di una risposta. Nessuna reazione, nessun computer. Si può fare tutto ciò che si può fare con un indirizzo IP, una volta che sa che ha un computer dietro di esso.

È stato utile?

Soluzione

Non sei davvero intenzione di trovare qualcosa di più affidabile rispetto pinging o arpinging indirizzi sulla stessa sottoinsieme. Ho implementato questo per un certo pezzo di software di back nel corso della giornata il mio primo tirocinio e, l'ultima volta che ho controllato (ad essere onesti, questo era molti anni fa), che è quello che stavano ancora usando per questa funzionalità. Lo prendo a significare che non hanno trovato niente di meglio.

Non è difficile trovare il codice sorgente per questi e tradurli in C #. ping , arping . In alternativa, è sufficiente sborsare per un prompt dei comandi ed eseguire ping e quindi analizzare i risultati.

Altri suggerimenti

1) Leggere la subnet mask e calcolare tutti gli indirizzi IP nella maschera di sottorete si sono a. Quindi è possibile sia utente ping ICMP (ping standard) o ARP ping per elencare tutti gli indirizzi IP validi. ARP Ping è molto più affidabile in un ambiente sottorete.

2) È possibile Nmap per elencare tutti gli host

nmap -nsP 192.168.10.1/254 | grep ^Host

Qualsiasi strumento di scoperta host può aiutare qui. In particolare Nmap sicuramente vi darà questa informazione anche se potrebbe essere eccessivo in questa situazione. Google per "scan ping" e si dovrebbe ottenere alcuni risultati utili.

Vedere WNetOpenEnum () e WNetEnumResource (), qui .

Si può solo guardare la maschera di sottorete IP e sulla scheda di rete e ping ogni indirizzo? Qualunque sia quelli rispondono possono essere interrogati per vedere se ha tutto ciò che serve per la connessione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top