Jakiś sposób znaleźć nieużywane adresy IP w mojej sieci?

25

Jak zlokalizować nieużywane adresy IP w mojej sieci? Serwer DHCP wciąż przypisuje ten sam adres i potrzebuję innego adresu IP, aby przetestować moją aplikację. Oprogramowanie musiałoby działać w systemie Windows.

Jason
źródło

Odpowiedzi:

36

Prawdopodobnie najlepszym sposobem jest użycie NMAP ( http://nmap.org/ ) w trybie skanowania ARP Ping. Użycie będzie podobne nmap -sP -PR 192.168.0.*(lub jakakolwiek jest twoja sieć).

Zaletą tego podejścia jest to, że wykorzystuje protokół rozpoznawania adresów do wykrywania, czy adresy IP są przypisane do komputerów. Każda maszyna, która chce znaleźć się w sieci, musi odpowiedzieć na ARP, więc to podejście działa tam, gdzie nie działają skanowanie pingów, pingi rozgłoszeniowe i skanowanie portów (ze względu na zapory ogniowe, zasady systemu operacyjnego itp.).

guilherme
źródło
1
+1 Nie zdawałem sobie sprawy, że pliki binarne nmap są dostępne w systemie Windows; zdecydowanie użyj tego, to kołysze.
msanford
Dokładnie tak. Mam nadzieję, że nie zdenerwowałem nikogo zapytaniem. Najwyraźniej Nmap lubi też mówić mi, jakie „interesujące” porty są otwarte na każdej napotkanej maszynie. : OI zdecydowanie tego nie potrzebowałem ani nie chciałem.
jasonh
3
Ups Użycie -sP w połączeniu z -PR powinno wyłączyć niepotrzebne skanowanie portów.
guilherme
-0,5 dla mnie, symbole wieloznaczne są dopuszczalne w specyfikacjach hosta nmap (0,5, ponieważ nie ma „*” na stronie odnoszącej się do hostów, tylko porty;)
msanford
6
Zaskakujące jest to, że opisujemy nmappoziome rozwiązanie skanowania dla pytania (początkującego?) Z pytaniem, jak „wypchnąć” nieużywany adres IP w środowisku sieciowym przydzielonym przez DHCP. Czy nie jesteśmy odpowiedzialni (jako administratorzy?) Sugerować, aby skontaktował się z lokalnym organem DHCP (jego administratorem?) I przydzielił kilka testowych adresów IP? ZGODY, to elegancki hack, wszyscy kochamy nmap, w tym fanów matrycy. Ale czy rozumiemy, co się tutaj dzieje?
nik
17

Naprawdę nie powinieneś próbować znaleźć nieużywanych adresów IP w sieci korzystającej z DHCP. Nie powinieneś tego robić, chyba że wiesz, co robisz, a pytanie, jak to zrobić, sugeruje, że tego nie robisz.

Zarządzanie adresami sieciowymi jest domyślnie działaniem organizacyjnym (a nie technicznym). DHCP sprawia, że ​​administratorzy sieci często myślą, że jest czysto techniczny, ale protokół jest dobrze zaprojektowany i może z łatwością wesprzeć Twoje potrzeby przy odrobinie negocjacji politycznych.

DHCP ma funkcję, w której za każdym razem niektóre systemy mogą mieć ten sam adres IP (innymi słowy, mechanizm przypisywania może być dynamiczny, ale same przypisania można naprawić).

Poproś administratora DHCP, aby utworzył dla ciebie kilka wpisów. Jeśli powie „nie”, wykonaj trochę pracy nóg i poproś swojego kierownika, aby poprosił o to swojego przełożonego.

Lub poproś administratora DHCP, aby przydzielił zakres adresów IP do użytku osobistego, ale nie podawał ich poza DHCP.

To naprawdę leży w najlepszym interesie wszystkich. Jeśli twój projekt jest wart trochę dodatkowego wysiłku, trochę miłości organizacyjnej przejdzie długą drogę.

Nie sądzę, aby inni plakaty poważnie myśleli o tym, co może się zdarzyć, a część niebezpieczeństwa polega na tym, że skutki konfliktów adresów IP są nieprzewidywalne:

Jeśli kłusujesz adresami, a następnie powodują one konflikt z czyimś systemem, wyniki mogą być bolesne, na przykład zakończenie pracy.

  1. Systemy zachowują się inaczej, gdy występują konflikty adresów IP. Niektórzy rzucają się szybko. Niektórzy po prostu wyświetlają dziwne ostrzeżenia na ekranie. Potencjalnie niektóre systemy będą walczyć o adres IP.

  2. Nie wiesz, jaki system miałbyś rozłączyć. Być może odłączasz ważny serwer lub twój system może mieć serwer pośredniczący, który zaczyna reagować na rzeczywisty ruch. Może to być komputer szefa lub starszy inżynier, który również zajmował miejsce w IP.

Oto historia DNS, która jest dość podobna. Pracowałem ze sprytną, ale czasem wstrętną osobą w firmie, a on rozumiał większość wszystkiego, z wyjątkiem rozwiązania DNS. Skonfigurował około 80% firmowych systemów pocztowych, aby w przypadku niewielkiego przestoju moim środowiskiem laboratoryjnym był serwer poczty wychodzącej. Szybko wykryli ten problem, ale możesz sobie wyobrazić, jak źle może być, gdyby mój system nie ustawił poczty w kolejce za zaporą.

benc
źródło
2
@benc, doskonale! jest to pierwsza odpowiedź, którą widzę jako racjonalną w poszukiwaniu nieużywanego adresu IP w środowisku DHCP. +1 za myślenie jak administrator w ServerFault.
nik
Wygląda na to, że zauważyłem to pytanie tylko dlatego, że odpowiedziałeś na to dzisiaj! Wydaje się, że w zeszłym miesiącu sprawy się zakończyły bez tego punktu !!
nik
Tak. Nie mogą powiedzieć, że ich nie ostrzegałem.
benc
Szkoda, że ​​nie jest to wybrana odpowiedź - ponieważ odpowiada na prawdziwe pytanie. +1
3

Pewnego razu w mojej firmie ktoś przypadkowo ustawił adres IP adresu głównego przełącznika w naszej serwerowni.

Wynik netto:
„WTF zdarzyło się w sieci 1?!?!”

Morał tej historii: Porozmawiaj ze swoimi administratorami. Jeśli pracujesz w firmie inżynierskiej, istnieje szansa, że ​​mają one proces, który da ci adres, a nawet własny zasięg.

prestiż
źródło
+1 - są to historie, które przerażają ludzi do prawidłowego zachowania. Przepraszam, że przytrafiło ci się w prawdziwym życiu.
benc
2

Zasadniczo musisz wybrać opcje:

  • Zapytaj serwer DHCP, jakie adresy już przypisał (za pośrednictwem interfejsu internetowego, interfejsu cli lub innego interfejsu używanego przez serwer). Działa to, jeśli sam węzeł w sieci korzysta z DHCP do samodzielnej konfiguracji (tzn. Nie ma żadnych samodzielnie przypisanych adresów IP). Oczywiście potrzebujesz również dostępu do konfiguracji routera, co wydaje się być niemożliwe.

  • Pinguj (lub porty) skanuj całą podsieć i zobacz, kto odpowiada. Może to nie działać, jeśli określone węzły mają wyłączone żądanie ICMP-echo (tj. „Block ping”).

msanford
źródło
Zgadza się, nie mam dostępu do serwera DHCP. Jakieś sugerowane narzędzia do pingowania podsieci? Wypróbowałem sugestię „ping 224.0.0.1”, ale zgłasza ona „Ogólny błąd”.
jasonh
Obawiam się, że zawsze mam dostęp do komputera z systemem Linux w celu diagnostyki sieci (więc nie jestem tak przydatny w składni Windows). Kliknij Google i zobacz, co znajdziesz; z pewnością istnieje fajne darmowe narzędzie GUI.
msanford,
Guilherme ma to poniżej, użyj nmap nmap.org/download.html, choć składnia jest następującanmap -sP 192.168.0.1-254
msanford
1

Jak wspomniano w innych odpowiedziach, skany ping lub skany NMAP w lokalnej podsieci są prawdopodobnie najlepszym sposobem ustalenia wolnych adresów IP, jeśli nie masz dostępu do serwera DHCP.

Jednakże , należy mieć na uwadze dwie rzeczy.

  1. Twoi administratorzy sieci prawdopodobnie nie spodobają ci się podczas skanowania portów / ping; jeśli mają coś przypominającego przyzwoitą ochronę przed włamaniami, nie powinieneś być zaskoczony, gdy wędrują do twojego biurka wyglądając na nieszczęśliwych.

  2. Mieszanie konfiguracji statycznej i DHCP w tej samej podsieci może powodować problemy. Jeśli skonfigurujesz urządzenie z adresem IP, okaże się, że jest „wolne” poprzez skanowanie podsieci itp., A następnie serwer DHCP przekaże ten adres do innego węzła, twoja maszyna i „prawdziwy” właściciel adresu IP będą nieustannie walczyć o kto powinien mieć wpis ARP dla tego adresu IP. Doprowadzi to do przerywanej łączności obu maszyn. (I znowu, możliwa wizyta twojego przyjaznego administratora dzielnicy).

Jeśli naprawdę potrzebujesz innego adresu IP do testowania, czy możesz skontaktować się z administratorami sieci i zapytać? Mogliby skonfigurować ręczny wpis DHCP, który dałby maszynie określoną dzierżawę DHCP na podstawie jej adresu MAC.

Murali Suriar
źródło
Dzięki za wskazówki. Zdaję sobie sprawę z możliwości przekazania adresu przez serwer DHCP komuś innemu, więc nie planuję go długo przechowywać. Naprawdę potrzebuję innego adresu IP. Zapora Cisco sprawdza mój adres IP, aby sprawdzić, czy zostałem tam uwierzytelniony w ciągu ostatnich 12 godzin, a jeśli tak, to nigdy nie daje mi możliwości wylogowania. Jedynym sposobem powrotu do ekranu logowania jest wygaśnięcie 12-godzinnego przedziału czasowego lub uzyskanie nowego adresu IP. Zrobiłem to już raz, przełączając się na połączenie bezprzewodowe, ale teraz potrzebuję kolejnego strzału do zapory ogniowej, aby sprawdzić kod.
jasonh
1

Sprawdź palec. Kiedyś nazywano go lookatlan. Jest to niewielka instalacja, ale skanuje sieć i daje prosty interfejs graficzny, aby zobaczyć, co jest używane, a co nie.

Fishwalker
źródło
0

Jeśli używasz DHCP systemu Windows Server, przeglądarka DHCP pokazuje używane adresy IP. Może masz bardzo mały zakres adresów IP, spróbuj rozszerzyć zakres.

Miałem podobny problem podczas używania routera do przypisywania adresów IP. Moim rozwiązaniem, rozszerzyłem zasięg i to wydawało się działać.

Saif Khan
źródło
Mam silne przeczucie, na podstawie sformułowania jego pytania, że ​​nie jest on administratorem sieci, ale szuka tylko darmowego adresu IP do testowania kodu.
msanford
Dokładnie. Piszę aplikację, która automatyzuje logowanie przez zaporę Cisco. Po zalogowaniu się na ten dzień nie mam możliwości wylogowania się. Ponieważ muszę przetestować różne scenariusze w kodzie, muszę uzyskać inny adres IP, aby otrzymać monit o ponowne zalogowanie.
jasonh