Visa IP-adresser för LAN-enheter från kommandoraden i Mac OS

Om du behöver se andra maskiners IP-adresser på samma LAN (Local Area Network) som en Mac fungerar kommandoradsverktyget ganska bra. Du hittar snabbt andra enheter IP och åtföljande MAC-adresser, vilket kan göra direkta nätverksanslutningar enklare och vara användbara för många andra nätverks- och felsökningsändamål.

Hitta lokala IP-adresser med arp

För att komma igång startar du Terminal app från / Applications / Utilities / (eller nås med Spotlight och Command + mellanslag). Arp-verktyget använder ARP (Address Resolution Protocol) för att visa och kontrollera funktioner för nätverksadressupplösning. För de ändamål som vi vill uppnå här är den enklaste användningen av arp med en -a-flagga bifogad:

arp -a

Detta kommer att returnera enheter som finns i det lokala nätverket, inklusive andra Mac, datorer, routrar, iPhones och iPads, som visar både deras LAN-IP-adress och deras enskilda MAC-adress. (För det senare kan du hjälpa till att särskilja maskinvara genom att matcha dem till MAC-adressen som finns i MacOS X eller i IOS).

Ett exempel på arp -a-utdata ser ut så här:
% arp -a
? (192.168.0.1) at 0:0:ca:1:2:3 on en0 ifscope [ethernet]
? (192.168.0.2) at 68:b8:3d:22:1c:42 on en0 ifscope [ethernet]
? (192.168.0.11) at b4:12:23:5a:d3:6f on en0 ifscope [ethernet]
? (192.168.0.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]

Så här hittar du IP-adresser för enheter på ett lokalt nätverk med ping & arp

Om utmatningen inte är uppdaterad, eller om det saknas en IP som du tror bör vara där, ping sändnings-IP (vanligtvis det sista resultatet av arp -a slutar med ".255"), kör sedan arp -a igen såhär.

Först ping sändning IP:

Terminal% ping 192.168.0.255
PING 192.168.0.255 (192.168.0.255): 56 data bytes
64 bytes from 192.168.0.6: icmp_seq=0 ttl=64 time=0.079 ms
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=1.922 ms
--- 192.168.0.255 ping statistics ---
2 packets transmitted, 2 packets received, +6 duplicates, 0.0% packet loss
round-trip min/avg/max/stddev = 0.079/39.404/303.510/75.738 ms

Kör sedan arp -a-kommandot igen:

Terminal% arp -a
? (192.168.0.1) at 0:0:ca:1:2:3 on en0 ifscope [ethernet]
? (192.168.0.2) at 68:b8:3d:22:1c:42 on en0 ifscope [ethernet]
? (192.168.0.10) at 22:12:bb:a0:3d:fd on en0 ifscope [ethernet]
? (192.168.0.11) at b4:12:23:5a:d3:6f on en0 ifscope [ethernet]
? (192.168.0.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]

Observera i det här exemplet att 192.168.0.10 är en ny IP jämfört med tidigare resultat, eftersom den maskinen bara gick med i nätverket.

Du kan ignorera protokollförslaget i slutet av arpresultatet, i det här exemplet trots att enheterna visar som "ethernet", är de faktiskt alla på ett trådlöst nätverk med wi-fi på en0-gränssnittet.

Observera att du inte ser Macs egen IP-adress eller MAC-adress i den här listan. Om det behövs kan du hitta din egen IP-adress via Terminal, Systeminställningar eller genom att använda en extern tjänst om du letar efter den externa adressen.

Medan arp fungerar bra nog för de flesta fall, och det har fördelen att det är inbyggt i alla versioner av Mac OS X, kanske det inte räcker till för alla. För mer avancerade användare är nmap ett ännu bättre alternativ för ett nätverksupptäckningsverktyg, men nmap kräver installation antingen direkt, kompilering via källa eller genom något som homebrew.

Hur hittar jag IP-adresser på alla andra datorer i mitt nätverk?

Ovanstående ping och arp trick kommer att hitta och lista alla IP-adresser på alla enheter eller datorer i nätverket. Det betyder IP-adressen till samma nätverksanslutna Mac-datorer, Windows PC, Linux-maskiner, IOS-enheter som iPhone och iPad, Android-telefoner och -tabeller i samma nätverk, även IP-kompatibla rutor som en Apple TV eller Playstation kommer att vara funnits, förutsatt att dessa enheter och datorer är anslutna till samma lokala nätverk som datorn gör sökningen.

Känner du till ett annat användbart sätt att hitta, hitta och lista nätverksanslutna enheter och datorer på samma nätverk? Dela det med oss ​​i kommentarerna!