Jeśli chcesz wiedzieć, jakie adresy IP są faktycznie używane w Twojej sieci, jedyną opcją jest przeskanowanie ich wszystkich. Bardzo często robi się to za pomocą polecenia ping. Ping, który istnieje prawie tak długo, jak sieć IP, jest prawdopodobnie najlepszym sposobem testowania łączności z danym adresem IP. Tak więc, sukcesywnie pingując wszystkie adresy IP w sieci, można uzyskać całkiem dobry obraz tego, które z nich są używane, a które są dostępne.
Jednak w najmniejszej sieci z zaledwie kilkoma adresami IP może to szybko stać się nie lada przykrym obowiązkiem. Na szczęście istnieją narzędzia, które automatycznie skanują grupę adresów IP i raportują ich responsywność. Dzisiaj dokonujemy przeglądu niektórych z najlepszych skanerów IP dla Linuksa, które ułatwią Ci życie, gdy będziesz musiał skanować adresy IP.
Na początek omówimy ogólnie skanowanie adresów IP . Dokładniej, przyjrzymy się, dlaczego warto skanować adres IP, ponieważ chociaż dobrze jest wiedzieć, które adresy IP są używane, robienie tego ma sens. Następnie przyjrzymy się dokładniej narzędziu ping. Mimo że ping nie jest narzędziem do skanowania, to narzędzie jest podstawą większości narzędzi do skanowania adresów IP. Wiedza o tym, jak to działa lub co może zrobić, najprawdopodobniej będzie cenna, gdy zaczniemy przyglądać się różnym dostępnym narzędziom do skanowania. A mówiąc o narzędziach do skanowania, naszym następnym zadaniem będzie nie tylko wymienienie, ale także krótki przegląd niektórych z najlepszych skanerów IP dla systemu Linux oraz zbadanie ich głównych cech i czynników, które je wyróżniają.
Skanowanie adresów IP
Poza czystą zabawą i oświeceniem wiedzy, jakie adresy IP są używane, istnieje kilka powodów, dla których warto skanować adresy IP. Przede wszystkim bezpieczeństwo. Skanowanie adresów IP w sieci pozwala szybko wykryć nieautoryzowane urządzenia . Mogą to być na przykład urządzenia podłączone przez złośliwych użytkowników w celu szpiegowania Twojej organizacji.
Ale nawet użytkownicy mający dobre intencje mogą czasem siać spustoszenie, podłączając swoje urządzenia osobiste. Przypominam sobie tego użytkownika, który uniemożliwił wielu swoim współpracownikom dostęp do sieci firmowej, gdy podłączył do niej swój domowy router internetowy. Potrzebował tylko kilku dodatkowych portów, aby podłączyć dodatkowy komputer testowy i pomyślał, że mógłby użyć przełącznika wbudowanego w jego router. Bez jego wiedzy router zaczął wydawać adresy IP z wbudowanego serwera DHCP. Kilku jego kolegów przypisano błędne adresy IP.
Poza względami bezpieczeństwa skanowanie adresów IP jest również pierwszym krokiem w każdej próbie zarządzania adresami IP . Chociaż wiele – jeśli nie wszystkie – narzędzi do zarządzania adresami IP (IPAM) obejmuje jakąś formę skanowania adresów IP, wiele z nich decyduje się na zarządzanie adresami IP za pomocą procesu ręcznego zamiast zintegrowanego narzędzia. W takich sytuacjach narzędzia do skanowania adresów IP stają się koniecznością.
Dla osób bez formalnego procesu zarządzania adresami IP skanowanie adresów IP jest prawdopodobnie jeszcze ważniejsze. Często będzie to jedyny sposób, aby upewnić się, że nie ma konfliktów adresów IP. W rzeczywistości można to uznać za dość surowy sposób pseudo-zarządzania adresami IP.
Ping w pigułce
Bez względu na to, czego potrzebujesz do skanowania adresów IP, większość narzędzi opiera się na Ping. Przyjrzyjmy się temu wszechobecnemu, choć antycznemu narzędziu. Ping powstał z konieczności w 1983 roku, udowadniając po raz kolejny, że konieczność jest matką wynalazków. Jego twórca potrzebował narzędzia, które pomogłoby w debugowaniu nienormalnego zachowania sieci, które obserwował. Jego nazwa nawiązuje do dźwięku echa sonaru słyszanego w okrętach podwodnych. Obecnie ping jest obecny w prawie każdym systemie operacyjnym, ale jego implementacja różni się nieco w zależności od platformy. Niektóre wersje oferują wiele opcji wiersza poleceń, które mogą zawierać parametry, takie jak rozmiar ładunku każdego żądania, całkowita liczba testów, limit przeskoków sieci lub interwał między żądaniami. Niektóre systemy mają towarzyszące narzędzie Ping6, które służy dokładnie temu samemu celowi, ale używa adresów IPv6.
Oto typowe zastosowanie polecenia ping:
$ ping -c 5 www.example.com PING www.example.com (93.184.216.34): 56 bajtów danych 64 bajty od 93.184.216.34: icmp_seq=0 ttl=56 time=11.632 ms 64 bajty od 93.184.216.34: icmp_seq =1 ttl=56 time=11.726 ms 64 bajty od 93.184.216.34: icmp_seq=2 ttl=56 time=10.683 ms 64 bajty od 93.184.216.34: icmp_seq=3 ttl=56 time=9.674 ms 64 bajty od 93.184.216.34: icmp_seq=4 ttl=56 time=11.127 ms --- www.example.com statystyki ping --- 5 wysłanych pakietów, 5 otrzymanych pakietów, 0,0% utrata pakietów w obie strony min/avg/max/stddev = 9,674/10,968/ 11,726/0,748 ms
Opcja „-c 5” w powyższym przykładzie mówi Pingowi, aby powtórzył pięć razy.
Jak działa ping
Ping to całkiem proste narzędzie. Wszystko, co robi, to wysyłanie pakietów ICMP echo request do celu i oczekiwanie na odesłanie pakietu ICMP echo response. Proces ten jest powtarzany określoną liczbę razy — domyślnie pięć w systemie Windows i do chwili, gdy zostanie domyślnie ręcznie zatrzymany w większości implementacji systemu Unix/Linux. Po zakończeniu polecenia statystyki odpowiedzi są kompilowane i wyświetlane. Narzędzie oblicza średnie opóźnienie między żądaniami a odpowiadającymi im odpowiedziami i wyświetla je w swoich wynikach. W większości wariantów *nix wyświetla również wartość pola TTL odpowiedzi (czas życia), podając liczbę przeskoków między źródłem a miejscem docelowym.
Aby polecenie zadziałało, pingowany host musi przestrzegać RFC 1122. Standard określa, że każdy host musi przetwarzać żądania echa ICMP i w zamian wysyłać odpowiedzi na echo. I chociaż większość hostów odpowiada, niektórzy wyłączają tę funkcję ze względów bezpieczeństwa. Zapory często blokują również ruch ICMP. Aby to obejść, lepsze narzędzia do skanowania adresów IP mogą używać typu pakietu innego niż ICMP do sprawdzania, czy adres IP odpowiada. Pingowanie hosta, który nie odpowiada na żądania echa ICMP, nie zapewni żadnych informacji zwrotnych, co jest dokładnie jak pingowanie nieistniejącego adresu IP.
Najlepsze skanery IP dla systemu Linux
Nasz wybór narzędzi do skanowania adresów IP zawiera po trochu wszystkiego. Na naszej liście znajduje się kombinacja narzędzi opartych na GUI i narzędzi wiersza poleceń. Niektóre są bardziej złożonymi narzędziami, podczas gdy inne są rozszerzonymi wersjami narzędzia ping, które umożliwiają skanowanie zakresu adresów IP bez konieczności wydawania wielu kolejnych poleceń. Wszystkie narzędzia z naszej listy mają kilka cech wspólnych: działają w systemie operacyjnym Linux i, biorąc pod uwagę zakres adresów do przeskanowania, zwrócą listę odpowiadających adresów IP.
1. Zły skaner IP
Angry IP Scanner to zwodniczo proste narzędzie, które w dużym stopniu wykorzystuje wielowątkowość. To sprawia, że jest to jedno z najszybszych narzędzi na naszej liście. Jest to darmowe wieloplatformowe narzędzie, które jest dostępne dla systemu Linux — oczywiście Windows i Mac OS X. To narzędzie jest napisane w Javie, więc aby z niego korzystać, musisz mieć zainstalowany moduł wykonawczy Java. Większość menedżerów pakietów zajmie się jednak tą zależnością. Narzędzie nie tylko pinguje adresy IP, ale może również opcjonalnie uruchomić skanowanie portów na wykrytych hostach. Może rozwiązywać adresy IP na nazwy hostów i adresy MAC na nazwy dostawców. Co więcej, to narzędzie będzie dostarczać informacje NetBIOS — jeśli są dostępne — o każdym odpowiadającym hoście.
Angry IP Scanner może skanować całe sieci i podsieci, ale może również obejmować zakres adresów IP, a nawet dyskretną listę adresów IP z pliku tekstowego. To narzędzie jest głównie oparte na graficznym interfejsie użytkownika, ale jest również dostarczane z wersją wiersza poleceń, której można użyć, jeśli na przykład chcesz uwzględnić funkcjonalność narzędzia w domowych skryptach powłoki. Jeśli chodzi o wyniki skanowania, są one domyślnie wyświetlane na ekranie w formacie tabeli, ale można je łatwo wyeksportować do kilku formatów plików, takich jak CSV lub XML.
2. arp-skan
Narzędzie arp-scan (czasami określane jako ARP Sweep lub MAC Scanner) to kolejny szybki skaner pakietów ARP. Narzędzie wyświetli listę wszystkich aktywnych urządzeń IPv4 w podsieci, z której skanuje. Jest to jedno z narzędzi, które nie polega na pingowaniu do skanowania sieci. Zamiast tego wykorzystuje ARP (Address Resolution Protocol), technologię zwykle używaną do znajdowania zgodności między adresami IP a adresami MAC. Ponieważ ARP jest protokołem nierutowalnym, skaner ten może działać tylko w sieci lokalnej (lokalna podsieć lub segment sieci).
Narzędzie arp-scan wyświetli wszystkie aktywne urządzenia, nawet jeśli mają wbudowane zapory sieciowe schematów filtrowania blokujących pakiety ICMP. Urządzenia po prostu nie mogą ukryć się przed pakietami ARP, ponieważ mogą ukryć się przed pingami. To sprawia, że jest to bardzo przydatne narzędzie w bardzo bezpiecznych środowiskach z wieloma wzmocnionymi urządzeniami.
3. nmap/zenmap
Nmap, co oznacza Network Mapper, to narzędzie do skanowania, które można wykorzystać do wykrywania hostów i usług, tworząc w ten sposób „mapę” sieci, stąd nazwa. To narzędzie działa, wysyłając specjalnie spreparowane pakiety do docelowych hostów — trochę jak ping, ale niekoniecznie przy użyciu ICMP — i analizując otrzymywane odpowiedzi.
Głównym zastosowaniem narzędzia jest analiza usług dostępnych na komputerze. Może być jednak używany jako skaner adresów IP. To narzędzie może wykrywać hosty i ich usługi, a także wykrywać ich system operacyjny i nie tylko. Korzystając ze skryptów, narzędzie może być nawet używane do zaawansowanego wykrywania usług, wykrywania luk w zabezpieczeniach i nie tylko.
Nmap, który jest narzędziem wiersza poleceń, które powstało jako narzędzie tylko dla Linuksa, ale od tego czasu zostało przeniesione do kilku innych systemów operacyjnych, w tym Windows, Solaris, HP-UX, większości wariantów BSD, w tym OS X, AmigaOS i IRIX. Jeśli wolisz graficzne interfejsy użytkownika, wydano kilka interfejsów GUI do Nmapa. Jeden z najlepszych nosi nazwę Zenmap i pochodzi z tej samej drużyny co Nmap. Możesz zatem oczekiwać dobrej integracji między tymi dwoma narzędziami. Zenmap w porównaniu do Nmap jest znacznie łatwiejszy do nauczenia się i opanowania, dzięki dobrze zaprojektowanemu interfejsowi użytkownika. Chociaż może nie jest to najładniejsze narzędzie, ma świetną funkcjonalność.
4. Fping
Fping został stworzony jako ulepszenie w stosunku do pinga, wówczas jednego z niewielu dostępnych narzędzi do rozwiązywania problemów z siecią. Jest to podobne narzędzie wiersza poleceń, ale jest raczej inne. Podobnie jak ping, Fping używa żądań echa ICMP do określenia, który z hostów docelowych odpowiada, ale na tym kończy się podobieństwo. Podczas gdy ping akceptuje tylko jeden adres IP jako parametr, Fping może być wywoływany z wieloma docelowymi adresami IP. Cele można określić jako rozdzieloną spacjami listę adresów IP. Narzędziem można również podać nazwę pliku tekstowego zawierającego dyskretną listę adresów. Na koniec można określić zakres adresów IP lub wprowadzić podsieć w notacji CIDR, takiej jak 192.168.0.0/24.
Jedną z wielkich cech Fping jest to, że nie czeka na odpowiedź przed wysłaniem następnego żądania echa. To znacznie pomaga skrócić czas tracony na oczekiwanie na nieodpowiadające adresy IP, dzięki czemu narzędzie jest znacznie szybsze. Fping ma również wiele opcji wiersza poleceń, których można użyć, a ponieważ jest to narzędzie wiersza poleceń, możesz przekazać jego dane wyjściowe do innego polecenia - na przykład grep - w celu dalszego przetwarzania.
5. Hping
Hping to kolejne bezpłatne narzędzie wiersza poleceń wywodzące się z ping. Jest dostępny w większości, jeśli nie we wszystkich uniksopodobnych systemach operacyjnych, w tym w popularnych dystrybucjach Linuksa, a także w systemach Mac OS X i Windows. Mimo że nie jest już aktywnie rozwijane, narzędzie to jest nadal łatwo dostępne i szeroko stosowane. Narzędzie bardzo przypomina ping, ale jest zupełnie inne. Na przykład Hping nie tylko wysyła żądania echa ICMP. Może również wysyłać pakiety TCP, UDP lub RAW-IP. Może to pomóc w skanowaniu bardzo bezpiecznych sieci. Jest też tryb traceroute – o czym za chwilę – a narzędzie ma możliwość wysyłania plików.
Hping może być używany jako narzędzie do skanowania adresów IP, ale może zrobić więcej. Narzędzie posiada kilka zaawansowanych funkcji skanowania portów. Dzięki zastosowaniu wielu protokołów może być również używany do wykonywania podstawowych testów sieci. Ten produkt ma również pewne zaawansowane możliwości traceroute przy użyciu dowolnego z dostępnych protokołów. Może to być przydatne, ponieważ niektóre urządzenia traktują ruch ICMP inaczej niż inny ruch. Naśladując inne protokoły, to narzędzie może zapewnić lepszą ocenę rzeczywistej, rzeczywistej wydajności sieci.
6. Skaner IP Spiceworks
Spiceworks rozpoczęło działalność w 2006 roku w Austin w Teksasie jako profesjonalna sieć dla branży technologii informatycznych, chociaż pierwotnie została stworzona w celu tworzenia oprogramowania do zarządzania IT. Dzisiaj Spiceworks to społeczność internetowa, która pozwala użytkownikom współpracować ze sobą, a także uczestniczyć w rynku w celu zakupu usług i produktów IT. Szacuje się, że Spiceworks jest używany przez ponad sześć milionów specjalistów IT i trzy tysiące dostawców technologii.
Ale, jak wspomnieliśmy, Spiceworks jest także twórcą oprogramowania i wydawcą. Firma ma trzy główne produkty. Istnieje platforma do zarządzania help desk o nazwie Spiceworks Help Desk, narzędzie do zarządzania zasobami IT o nazwie Spiceworks Inventory oraz platforma monitorowania sieci o nazwie Spiceworks Network Monitor. I chociaż te narzędzia nie są open-source, są dostępne za darmo dla każdego.
Spiceworks tworzy również kilka przydatnych narzędzi, jedno z nich nazywa się skanerem IP. Narzędzie pozwoli Ci wykonać skanowanie podstawowe lub rozszerzone ze szczegółowymi informacjami. Możesz użyć tego narzędzia do automatycznego wykrywania urządzeń w sieci podczas zbierania podstawowych informacji, takich jak system operacyjny lub adres MAC. Możesz również uzyskać szczegółowe informacje o sprzęcie i oprogramowaniu na stacjach roboczych i serwerach, takie jak procesor, pamięć masowa, pamięć, zainstalowane oprogramowanie, numer seryjny i wiele innych. To narzędzie jest jak skaner IP na sterydach.
7. MASKAN
MASSCAN, stworzony przez Roberta Grahama, twierdzi, że jest najszybszym skanerem portów. Narzędzie daje wyniki, które są podobne do tych, które można uzyskać za pomocą Nmapa, omówionego powyżej. Jednak wewnętrznie działa bardziej jak scanrand, unicornscan i ZMap i podobnie jak te wykorzystuje transmisję asynchroniczną. Główną różnicą jest to, że to narzędzie jest szybsze niż inne skanery. Co więcej, to narzędzie jest nieco bardziej elastyczne i pozwala na przykład na dowolne zakresy adresów i zakresy portów.
MASSCAN używa niestandardowego stosu TCP/IP zamiast tego, który jest dostarczany z systemem operacyjnym. W rezultacie cokolwiek innego niż proste skanowanie portów spowoduje konflikty z lokalnym stosem TCP/IP. Aby obejść to ograniczenie, możesz użyć opcji -S, aby użyć oddzielnego adresu IP, lub skonfigurować system operacyjny tak, aby zapory ogniowe używały portów używanych przez narzędzie.
8. Umituj skaner sieciowy
Skaner sieciowy Umit to kolejny interfejs do Nmapa, podobnie jak Zenmap. Narzędzie zostało zaprojektowane tak, aby pomieścić i uruchomić więcej niż jedno skanowanie jednocześnie. Jest to świetna funkcja, gdy masz do przeskanowania wiele podsieci lub zakresów adresów IP. Każdy skan jest wykonywany, a jego wyniki wyświetlane w zakładce Skanuj, która ma tytuł i gdzie każda informacja uzyskana w wyniku skanowania jest przejrzyście przedstawiona.
Ideą karty Skanuj jest próba ułatwienia Ci życia poprzez ułatwienie nawigacji po informacjach i ułatwienie wyszukiwania dowolnej określonej informacji. Skanowanie całej sieci za pomocą Nmapa zwykle wymaga otwarcia ulubionego terminala, wpisania potencjalnie złożonego polecenia Nmapa, poczekania na wyniki, a następnie przejścia do następnej podsieci. Skaner sieciowy Umit czyni go znacznie bardziej intuicyjnym.
Na zakończenie
Chociaż istnieje mnóstwo skanerów IP dla systemu Windows, widzieliśmy, że chociaż nie ma tak wielu opcji dla systemu Linux, dostępnych jest kilka doskonałych produktów. Tak więc, jeśli wybraną platformą jest Linux, nie czuj się pominięty. Niektóre z tych produktów mogą nie mieć wymyślnych GUI, jak niektóre narzędzia Windows, ale najprawdopodobniej znajdziesz na naszej liście narzędzie, które idealnie pasuje do Twoich potrzeb.