Dlaczego ping miałby się powieść, a nmap nie?

21

Dlaczego Nmap zgłasza komunikat „Host wydaje się nie działać”, gdy prosty ping się powiedzie?

me@computer:~$ ping 123.45.67.89
PING 123.45.67.89 (123.45.67.89) 56(84) bytes of data.
64 bytes from 123.45.67.89: icmp_req=1 ttl=45 time=91.1 ms
64 bytes from 123.45.67.89: icmp_req=2 ttl=45 time=102 ms
64 bytes from 123.45.67.89: icmp_req=3 ttl=45 time=100 ms
^C
--- 123.45.67.894 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 91.136/98.182/102.417/5.022 ms

me@computer:~$ nmap 123.45.67.89

Starting Nmap 5.21 ( http://nmap.org ) at 2014-04-02 14:23 EDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -PN
Nmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

Czy „sondy ping” Nmapa różnią się od pingów z wiersza poleceń?

AShelly
źródło
Czy mogę zasugerować uaktualnienie instalacji Nmapa? Obecna wersja to 6.40 . Wersja 5.21 ma 4 lata i brakuje 361 skryptów NSE oraz tysięcy odcisków palców usług i systemu operacyjnego.
bonsaiviking
Dzięki. 5.21 to wersja, którą domyślnie dostałem. Chyba pójdę pobrać i zbudować najnowszą.
AShelly
Tak, Ubuntu jest bardzo opóźnione w Nmap. Możesz sprawdzić zależności od .deb z Kali , który jest aktualny.
bonsaiviking

Odpowiedzi:

29

Nmap wysyła wiele różnych sond w celu ustalenia, czy host działa. W twoim konkretnym przypadku, ponieważ korzystasz z Nmapa bez uprawnień roota, nie może on wysyłać żądań ICMP Echo, z których pingkorzysta narzędzie. W takim przypadku próbuje połączyć się z portem 80 i portem 443, zgłaszając, że host działa, jeśli połączenie zostanie otwarte lub odrzucone. Twój cel musi mieć zaporę ogniową, która zrzuca cały ruch do tych portów.

Aby umożliwić Nmapowi znalezienie systemu, spróbuj uruchomić go z uprawnieniami administratora. Polecenie sudo jest często używane do tego celu, npsudo nmap 123.45.67.89

pingmoże wysyłać pakiety ICMP, ponieważ jest instalowany jako setuid do roota, co oznacza, że ​​każdy użytkownik może go uruchomić, ale wtedy będzie działał jako użytkownik root. Programy Setuid muszą bardzo uważać, aby nie pozwolić zwykłym użytkownikom na uzyskanie powłoki dzięki temu dodatkowemu zezwoleniu. W szczególności Nmap nie może zapobiec eskalacji przywilejów, dlatego nigdy nie powinien być ustawiany jako setuid.

bonsaiviking
źródło
Korzystam z systemu Windows i nadal pojawia się ten sam błąd podczas uruchamiania go w cmd z uprawnieniami administratora. Ping jest zawsze w porządku.
shashwat
2
Jestem rootem, ale mam ten problem
vladkras
Bez root / sudo, w jaki sposób ping może wykonać ICMP ECHO, ale nie nmap?
MikeP
1
@MikeP /bin/pingjest rootem setuid. Bez względu na to, kto go uruchamia, działa z uprawnieniami roota. Programy Setuid należy dokładnie przetestować, aby upewnić się, że nie można ich używać do uruchamiania dowolnych poleceń. Nmap nie jest w stanie bezpiecznie zainstalować setuid-root, więc musisz użyć innego mechanizmu: hasła roota lub sudo.
bonsaiviking
2

Tak, domyślnie są różne, ping to ICMP, a nmap ping wysyła pakiet syn do portu 80, jeśli dobrze pamiętam, spróbuj użyć flag -PE, -PM, -PP, aby zrobić ping z ICMP


źródło
0

bez uprawnień możesz przeskanować port za pomocą netcat:

nc -z -w5 hostname 22; echo $?

odpowiedź 1, jeśli nie, w przeciwnym razie odpowiedź:

Połączenie z nazwą hosta 22 port [tcp / ssh] powiodło się!

0

douardo
źródło
Najlepiej cytować i cytować odpowiedzi, gdy się do nich odwołuje, kolejność odpowiedzi może zmieniać się codziennie. Ta odpowiedź sama zmieniła kolejność odpowiedzi na to pytanie.
Ramhound,
0

Prosta poprawka dla mnie (Windows 10). Właśnie wyłączyłem adapter bezprzewodowy, który nie był używany, ponieważ korzystałem z podstawowego adaptera LAN. Polecam wyłączyć wszystkie oprócz podstawowego adaptera.

NoSpamMan
źródło