Pingsvep

Det kan ofta vara av nytta att få reda på vilka andra datorer som befinner sig på samma nätverk. En enkel och snabb metod att göra det är via ett så kallat pingsvep.

Nedan följer tre olika metoder. I exemplen nedan använder vi nätverket 192.168.0.xxx vilket är vanligast för hemnätverk. Byt förstås ut efter behov!

[ Observera att det kan anses vara en fientlig handling att göra ett pingsvep på nätverk som du inte själv administrerar. Trots att metoden i sig är helt ofarlig är den ofta ett första steg en illvillig användare skulle ta för att upptäcka möjliga mål på nätverket. Använd därför endast på de nätverk du själv äger och har kontroll över, så som ditt hemnätverk. ]

Metod 1 – ping

Den första och enklaste metoden är att använda ping för att pinga nätverkets broadcastadress:

ping -b 192.168.0.255

Ovanstående skickar en ping till nätverkets broadcastadress och listar sedan svaren som kommer tillbaks. Responsen kan se ut ungefär såhär:

WARNING: pinging broadcast address
PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data.
64 bytes from 192.168.0.193: icmp_req=1 ttl=64 time=4.28 ms
64 bytes from 192.168.0.199: icmp_req=1 ttl=64 time=4.92 ms (DUP!)
64 bytes from 192.168.0.8: icmp_req=1 ttl=64 time=5.40 ms (DUP!)
64 bytes from 192.168.0.8: icmp_req=2 ttl=64 time=2.06 ms
									

Vi får alltså klart för oss att datorerna med ip-adresserna 192.168.0.8, 192.168.0.193 och 192.168.0.199 alla är online och svarar på vårt anrop. En fördel med ping är att det är installerat som standard i nästan alla UNIX-maskiner. Nackdelen är dock att långt ifrån alla datorer svarar på anrop till broadcastadressen. Vi skulle därför kunna loopa (repetera) vanliga ping-förfrågningar till alla möjliga adresser, men det blir snabbt onödigt krånligt. Låt oss därför titta på nästa metod – fping.

Metod 2 – fping

En bättre metod är att använda fping som är gjort just för detta ändamål. fping finns normalt inte installerat som standard men finns tillgängligt i de flesta distributioners pakethanterare. En enkel yum install fping eller apt-get install fping och programmet är färdigt att användas.

fping -ga 192.168.0.0/24 2>/dev/null

Ger följande resultat:

192.168.0.2
192.168.0.8
192.168.0.20
192.168.0.193
192.168.0.198
192.168.0.199
192.168.0.1
									

Notera förstås att vi får en betydligt bättre respons här än när vi pingade broadcastadressen! Växeln -a anger att vi vill se datorer som är online (alive) på nätverket. Växeln -g anger att vi ska pinga en lista angiven antingen efter nätmask (i vårt fall /24) eller efter startadress och slutadress. Exemplet kan alltså lika gärna skrivas så här:

fping -ga 192.168.0.0 192.168.0.255 2>/dev/null

Det sista 2>/dev/null anger att terminalen ska skicka felmeddelanden till /dev/null istället för till teminalprompten. Det gör vi för att slippa meddelanden av typ ”host unreachable” över hela skärmen, men vill man se alla meddelanden är det förstås bara att strunta i det sista stycket.

Metod 3 – nmap

nmap är ett multiverktyg för nätverksadministration och innehåller en hel uppsjö funktioner. Vanligaste användningsområdet är förmodligen att scanna efter öppna portar på en specifik adress. Det går dock alldeles utmärkt att scanna efter tillgängliga datorer också. Finns nmap inte förinstallerat i din distribution hittar du det i pakethanteraren. nmap finns även för Mac OS X och Microsoft Windows och laddas hem på nmaps hemsida. För att söka igenom det lokala nätverket med nmap skriver vi:

nmap -sn 192.168.0.0/24

Vilket ger oss något i stil med nedanstående till svar:

Starting Nmap 5.50 ( http://nmap.org ) at 2011-07-04 17:47 CEST
Nmap scan report for 192.168.0.1
Host is up (0.00091s latency).
Nmap scan report for 192.168.0.2
Host is up (0.00068s latency).
Nmap scan report for qnap.localdomain (192.168.0.8)
Host is up (0.016s latency).
Nmap scan report for b3.localdomain (192.168.0.20)
Host is up (0.0056s latency).
Nmap scan report for 192.168.0.193
Host is up (0.0027s latency).
Nmap scan report for 192.168.0.198
Host is up (0.048s latency).
Nmap scan report for 192.168.0.199
Host is up (0.047s latency).
Nmap done: 256 IP addresses (7 hosts up) scanned in 2.55 seconds
									

Växeln -sn anger att vi inte vill skanna portar utan endast leta efter andra datorer. Som synes  skriver nmap ut både ip-nummer och svarstid. Programmet tar dessutom en titt i /etc/hosts för att se om några av de datorer som upptäcks har ett hostname angivit där.

Slutligen

Att ta reda på vilka datorer som finns online på nätverket är förstås användbart i många sammanhang. Ovanstående är inte tänkt som en djupare ingång i varken pingfping eller nmap, men en snabb introduktion till hur programmen kan användas till just det. Frågor eller synpunkter? Lämna gärna en kommentar!

Kommentera