Zamiast tego możesz mieć więcej szczęścia, korzystając z arping
tego narzędzia . Narzędzie ping
działa na poziomie warstwy 3 modelu OSI , natomiast arping
działa na warstwie 2.
Jednak dzięki temu narzędziu nadal musisz znać adres IP systemu. Istnieją 2 wersje, standardowa dołączona do większości Uniksów (Aleksieja Kuzniecow) jest wersją, która może obsługiwać tylko adresy IP. Inna wersja (Thomas Habets') rzekomo mogą wyszukiwać za pomocą adresów MAC.
$ sudo arping 192.168.1.1 -c 1
ARPING 192.168.1.1 from 192.168.1.218 eth0
Unicast reply from 192.168.1.1 [00:90:7F:85:BE:9A] 1.216ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
arping
działa podobnie jak ping
oprócz wysyłania pakietów ICMP, wysyła pakiety ARP.
Uzyskiwanie adresu IP systemu za pomocą samego MAC
Oto kilka metod wykonywania wyszukiwania wstecznego adresów MAC na IP.
nmap
$ nmap -sP 192.168.1.0/24
Następnie poszukaj w pamięci podręcznej arp odpowiedniej maszyny arp -an
.
fping
$ fping -a -g 192.168.1.0/24 -c 1
Następnie spójrz w swoją pamięć podręczną arp, tak samo jak powyżej.
świst
$ ping -b -c1 192.168.1.255
Następnie spójrz w swoją pamięć podręczną arp, tak samo jak powyżej.
nbtscan (hosty tylko dla systemu Windows)
$ nbtscan 192.168.1.0/24
Doing NBT name scan for addresses from 192.168.1.0/24
IP address NetBIOS Name Server User MAC address
------------------------------------------------------------------------------
192.168.1.0 Sendto failed: Permission denied
192.168.1.4 MACH1 <server> <unknown> 00-0b-12-60-21-dd
192.168.1.5 MACH2 <server> <unknown> 00-1b-a0-3d-e7-be
192.168.1.6 MACH3 <server> <unknown> 00-21-9b-12-b6-a7
arping
może przyjąć adres MAC jako parametr:arping -c 5 38:e7:d8:63:5e:a6
arping
na adres MAC: Tak, istnieją dwie implementacje arping 1. z Linux iputils 2. arping przez Thomasa Habetsa . --- Tylko implementacja 2. może pingować adres MAC, ale taki ping jest bardzo trudny: pingowana maszyna musi jeszcze mieć skonfigurowany protokół TCP / IP (przynajmniej adres IP) i musi być w stanie odpowiedzieć na ping adres IP emisji.Nie można pingować zwykłej karty sieciowej, ponieważ sama karta sieciowa nie wysyła żadnych odpowiedzi.
Tylko działający komputer może wysyłać odpowiedzi
Normalne karty sieciowe nie wysyłają samodzielnie żadnych odpowiedzi. Zawsze potrzebują do tego działającego oprogramowania na komputerze.
Gdy procesor komputera jest wyłączony, nie ma uruchomionego oprogramowania, które wysłałoby odpowiedź na ping.
Wake-on-LAN jest jednokierunkowy
Funkcja Wake-on-LAN pozwala komputerowi częściowo włączyć kartę sieciową w celu odbierania ramek Ethernet i szukać w nich magicznej sekwencji budzenia, ale karta sieciowa nadal nie wysyła żadnej odpowiedzi. Wake-on-LAN jest ściśle jednokierunkowy. Brak wysłanych odpowiedzi.
Wyjątki
Istnieją pewne specjalne karty sieciowe, które same mogą wysyłać odpowiedzi, na przykład takie, które realizują całkowite odciążenie uzgadniania TCP .
źródło
ether-wake
Komenda będzie działać przez adres MAC, więc na pewno (a) nie trzeba będzie adres IP i (b) mogą wysyłać polecenia bez szkody (czy to już zasnąć, budząc będzie miał żadnego wpływu?)Możesz zobaczyć listę istniejącej pamięci podręcznej arp, używając
arp -an
i grepując dla twojego MAC, aby uzyskać adres IP hosta docelowego. Ponieważ jednak arp jest pamięcią podręczną, mógł zostać „przekroczony limit czasu” pamięci podręcznej (i nadal „czuwać”). Być może będziesz musiał użyć metody brutalnej siły, aby znaleźć jej adres IP, na przykład:(a następnie poszukaj 00: 0c: 0d: ef: 02: 03) - pod warunkiem, że zapory ogniowe i inne tego typu rzeczy nie przeszkadzają!
źródło
ether-wake
nie dojdzie do niego). W rzeczywistości uzyskałbym dostęp do innego hosta na miejscu, położyłby maszynę docelową na sen i spróbowałbymether-wake
. Z racji tego, jak działa WOL, żądanie i tak będzie musiało zostać wysłane w tej samej podsieci co hostMoja aplikacja była serwerem RSYNC do stacji roboczej, aby uzyskać katalog dokumentów stacji roboczej ... ale stacja nie miała gwarantowanego adresu IP, ale miała znany adres MAC (adres IP został wykonany przez DHCP). ten kod używa TYLKO ping.
źródło
Oto prosty skrypt do pingowania za pomocą adresu mac. Po prostu zapisz i uruchom np
macping aa:bb:cc:dd:ee:ff
Możesz także połączyć łańcuchowo wynik, aby warunkowo wykonać inne czynności, np .:
-
źródło
Nie zależy to od różnych wersji arping ani od skomplikowanych skryptów bash:
Użyłem arp-scan zamiast arp, ponieważ wydaje się on działać znacznie szybciej.
źródło