Korzystając z Ubuntu 10.10, zastanawiałem się, czy istnieje polecenie wiersza poleceń, które może wyświetlać wszystkie adresy IP urządzeń podłączonych do sieci?
Użyłbym tego na przykład, aby wyświetlić listę wszystkich komputerów podłączonych do mojej sieci domowej. Idealnie, musi to być wiersz poleceń, ponieważ będę go uruchamiał z C ++.
Jakieś pomysły?
linux
ubuntu
networking
ip
Christopher Gwilliams
źródło
źródło
Odpowiedzi:
Sprawdź polecenie arp-scan - prawdopodobnie będziesz musiał go zainstalować np .:
http://manpages.ubuntu.com/manpages/hardy/man1/arp-scan.1.html
I aby podać dalsze szczegóły:
Gdzie eth0 jest twoim urządzeniem. Możesz znaleźć swoje urządzenie za pomocą:
źródło
wlan0
zamiasteth0
.Użyj nmap. przykład:
nmap -sn 10.10.10.0/24
pamięć podręczna arp powie ci tylko te, z którymi próbujesz się ostatnio skontaktować.źródło
W
arp -a
systemie Windows byłoby to „ ” Uważam, że odpowiednikiem tego w systemie Linux byłoby „arp -e
”.Te informacje można znaleźć na stronie man dla arp:
źródło
arp -a
wyświetlają (wszystkie) hosty w alternatywnym stylu (BSD). Uproszczone uruchamianiearp
działa tak samo jak uruchamianie,arp -e
ponieważ jest to ustawienie domyślne.Jeśli masz sieć
192.168.0.0/24
, utwórz plik wykonywalny z następującym kodem; Zmień na192.168.0
rzeczywistą sieć.źródło
ping -b -c 1 192.168.0.255
wynik „1 przesłanych pakietów, 0 odebranych, 100% utraty pakietów, czas 0ms”Spróbuj zainstalować
nmap
(sudo apt-get install nmap
) i wpisznmap 192.168.1.0/24
podstawianie192.168.1
trzema pierwszymi częściami adresu IP (dowiedz się, używającip addr
).Możesz również uzyskać nieco mniej dokładną (z mojego doświadczenia) mapę sieci, uruchamiając
ping 192.168.1.255
(ponownie zastępując192.168.1
), co powinno wydawaćping
każdemu komputerowi w sieci, ale z mojego doświadczenia, nie zawsze działa poprawnie.źródło
Przyszedł do tego na nexusie, używając
tmux
as, któregoarp-scan
nie ma w repozytorium, alenmap
został fabrycznie zainstalowany, wyświetla tylko adresy IP:źródło
Aby uzyskać bardziej zwartą listę podłączonych urządzeń:
Wyjaśnienie.
nmap -sL 192.168.0.*
wyświetli listę wszystkich adresów IP w podsieci i zaznaczy te, które mają nazwę:Ponieważ wszystkie interesujące rekordy zaczynają się od nawiasów
(
i cyfr1
, filtrujemy je za pomocą| grep \(1
(odwrotny ukośnik jest potrzebny, aby uniknąć nawiasu)Quirk
Uwaga: jeśli dwa urządzenia mają tę samą nazwę,
nmap
pokaże tylko to, które było podłączone do routera jako ostatnieźródło
Opracowanie odpowiedzi Andersa Larrsona -
źródło