Numer portu PING?

50

Wczoraj pytający zapytał mnie, jaki jest numer portu dla ping i który protokół używa TCP / UDP.

Po wywiadzie szukam w Internecie i znalazłem różne wyniki ktoś mówi, że ICMP używa portu 7, ktoś mówi, że nie używa numeru portu, na jednej stronie stwierdziłem, że używa protokołu IP 1 itd.

Czy ktoś może mi pomóc z prawidłowym wyjaśnieniem?

Pozdrawiam, Nishad

Nishad Morey
źródło
2
TCP i UDP to protokoły warstwy 4, a porty to adresy TCP lub UDP, ale ICMP jest częścią IP (warstwa 3). Z RFC 792: „ ICMP używa podstawowej obsługi IP tak, jakby był protokołem wyższego poziomu, jednak ICMP jest tak naprawdę integralną częścią IP i musi być implementowany przez każdy moduł IP.
Ron Maupin
1
Omawianie warstw jest tutaj nieco mylące, ponieważ ICMP, TCP i UDP jeżdżą bezpośrednio przez IP jako protokoły 1, 6 i 17, odpowiednio. W OP przejrzyj nagłówki ICMP / TCP / UDP lub uruchom przechwytywanie pakietów, aby zobaczyć, jak się różnią. Pamiętaj tylko, że ICMP jest całkowicie niezależny od TCP i UDP.
cmschmidt15
Dostałeś pracę?
Janac Meena
1
Tak, dostałem pracę.
Nishad Morey

Odpowiedzi:

62

Standardowa komenda ping nie używa TCP ani UDP. Wykorzystuje ICMP. Aby być bardziej precyzyjnym, stosuje się ICMP typ 8 (komunikat echa) i typ 0 (komunikat odpowiedzi echa). ICMP nie ma portów!

Dalsze szczegóły patrz RFC792 .

Jens Link
źródło
5
Aby to wyjaśnić, ICMP jeździ bezpośrednio przez IP jako protokół IP 1. W nagłówku ICMP masz typy echa / odpowiedzi echa itp. Porównaj to z TCP i UDP, które korzystają z IP jako protokoły IP odpowiednio 6 i 17, i używają własnego systemu portów do różnicowania aplikacji.
cmschmidt15
5

Chciałbym udzielić dodatkowej odpowiedzi, szczególnie na tę część pytania:

... ktoś mówi, że ICMP używa portu 7

Port 7 (zarówno TCP, jak i UDP) służy do obsługi usługi „echo”.

Jeśli ta usługa jest dostępna na komputerze, można użyć portu UDP 7 zamiast ICMP do wykonania polecenia „ping”.

Jednak większość współczesnych komputerów nie ma uruchomionej usługi „echo”, więc wykonanie polecenia „ping” przy użyciu portu UDP 7 zamiast ICMP nie będzie działać.

I: Jak już wskazują słowa „zamiast ICMP”, „ping” na porcie 7 UDP NIE używa ICMP, ale UDP, który jest zupełnie innym protokołem!

Martin Rosenau
źródło
Jako odpowiedź na twoją odpowiedź, oto post, który ktoś powiedział na forum, które znalazłem na ten temat: „Ludzie, którzy uważają, że ICMP w jakiś sposób korzysta z portu 7 (stara usługa echa, w której odbijałaby się każda wysłana do niego postać), powinna nie być w sieci i powinien zostać zastrzelony. Jeśli nie zgadzasz się z tym, co powiedziałem, spójrz na strukturę datagramu IP i datagramu ICMP. ICMP jest zamknięty w datagramie IP, a następnie datagramie IP w cokolwiek określone media muszą tworzyć ramkę ”.
Jesse P.
„ICMP nie korzysta z portu, ponieważ nie ma miejsca na port. Jest obudowany tylko datagramem IP. Opcja portu znajduje się tylko w datagramach UDP i TCP. Aby zablokować echo ICMP, należy wyraźnie zablokować typ i kod ”
Jesse P.
Pełny temat forum to community.infosecinstitute.com/discussion/8777
Jesse P.
@JesseP. Czy napisałem, że ICMP używa portu 7? Nie. Napisałem nawet słowo „zamiast” zamiast „ICMP” pogrubioną czcionką, aby wskazać, że port 7 nie ma nic wspólnego z ICMP. Zmodyfikuję nieco moją odpowiedź, aby była bardziej zrozumiała.
Martin Rosenau
To uczciwe. Czytanie było nieco mylące. Przepraszam.
Jesse P.
2

Jak już inni stwierdzili, ogólnie pingi są oparte na ICMP i nie mają portów. Istnieje jednak coś takiego jak pingowanie TCP, w którym zamiast typowego 3-kierunkowego uzgadniania TCP wykonywane są tylko pierwsze 2 kroki i mierzone jest opóźnienie pomiędzy nimi. Po zakończeniu pomiaru wysyłane jest RST ACK w celu zamknięcia połączenia półotwartego. Następnie proces powtarza się, aż osiągnięty zostanie licznik / czas trwania lub proces zostanie zakończony. Za pomocą pingowania TCP (którego używam CZĘSTO do testowania otwartych portów na serwerach, na których pracują administratorzy moich systemów) możesz określić porty docelowe do przetestowania (aby sprawdzić, czy serwer nasłuchuje na określonym porcie). Port źródłowy jest tylko efemerycznym losowym portem.

Jeśli chcesz zobaczyć przykład narzędzia TCP Ping (tego, którego używam w systemach Windows), proszę: TCPing . Ponadto NMAP jest wyposażony w narzędzie o nazwie NPING, które ma flagę umożliwiającą wykonywanie pingów również w oparciu o TCP.

Uwaga: niektóre urządzenia sieciowe mają również tę funkcję, na przykład ASA Cisco korzystające z niektórych nowszych wersji systemu operacyjnego. Polecenie to:ping tcp <destination IP> <destination port>

Jesse P.
źródło
1

Ping nie używa portu, ale protokołu. Ping działa poprzez wysyłanie pakietów żądania echa Internet Control Message Protocol (ICMP) do hosta docelowego i oczekiwanie na odpowiedź echa ICMP. Jednak ze względów bezpieczeństwa jest to często wyłączone.

James Jang
źródło