Igår frågade intervjuaren mig vad som är portnummer för ping och vilket protokoll ping använder TCP / UDP.
Efter intervju söker jag på internet och hittade olika resultat någon säger att ICMP använder Port 7, någon säger att det inte använder portnummer, på en webbplats fann jag att det användes IP-protokoll 1, etc.
Kan någon hjälpa mig med rätt förklaring?
Hälsningar, Nishad
Kommentarer
- TCP och UDP är lager-4-protokoll och portar är TCP- eller UDP-adresser, men ICMP är en del av IP (lager-3). Från RFC 792: " ICMP, använder det grundläggande stödet för IP som om det vore ett protokoll på högre nivå, dock är ICMP faktiskt en integrerad del av IP och måste vara implementerad av varje IP-modul. "
- Att diskutera lager är lite vilseledande här eftersom ICMP, TCP och UDP kör direkt över IP som protokoll 1 6 respektive 17. För OP, granska rubrikerna för ICMP / TCP / UDP eller kör en paketfångst för att se hur de skiljer sig åt. Kom bara ihåg att ICMP är helt skilt från TCP och UDP.
- Fick du jobbet?
- Ja, jag fick jobbet.
Svar
Standardpingkommandot använder inte TCP eller UDP. Den använder ICMP. För att vara mer exakt används ICMP typ 8 (eko-meddelande) och typ 0 (ekosvar-meddelande). ICMP har inga portar!
Se RFC792 för mer information.
Kommentarer
- För att klargöra rider ICMP direkt över IP som IP-protokoll 1. Inom ICMP-rubriken har du typerna echo / echo, etc. Jämför detta med TCP och UDP som rider över IP som IP-protokoll 6 respektive 17 och använder sitt eget portsystem för att differentiera applikationer.
- " ICMP har inga portar! " Även om det har fråga-ID som behandlas som portar under vissa omständigheter (särskilt omständigheter relaterade till NAT).
Svara
Jag skulle vilja ge dig ett extra svar särskilt på denna del av frågan:
… någon säger att ICMP använder Port 7
Port 7 (både TCP och UDP) används för ”echo” -tjänsten.
Om den här tjänsten finns på en dator kan UDP-port 7 användas istället av ICMP för att utföra en ”ping”.
De flesta moderna datorer har dock inte ”ekot” tjänsten körs, så utför ”ping” med UDP-port 7 ins ICMP-tead fungerar inte.
Och: Som orden ”istället för ICMP” redan anger, ”ping” över UDP-port 7 INTE använder ICMP men UDP, vilket är ett helt annat protokoll!
Kommentarer
- Som en motbevis till din svar, här är ett inlägg som någon sa på ett forum som jag hittade om det här ämnet: " Människor som tror att ICMP på något sätt använder port 7 (den gamla ekotjänsten där den skulle eka varje tecken du skickade till den) borde inte vara i nätverk och ska skjutas. Om du inte håller med vad jag har sagt, titta på strukturen för ett IP-datagram och ett ICMP-datagram. ICMP är inkapslat i IP-datagrammet och sedan IP-datagrammet i vad det specifika mediet behöver för att bilda ramen. "
- " ICMP använder inte en port eftersom den inte har plats för en port. Det är endast inkapslat med ett IP-datagram. Portalternativet hittar du endast på UDP- och TCP-datagram. För att blockera ICMP-eko skulle du uttryckligen blockera typen och koden "
- Hela forumämnet är community. infosecinstitute.com/discussion/8777
- @JesseP. Skrev jag att ICMP använder port 7? Nej. Jag skrev till och med ordet " istället " i " istället för ICMP " fet för att indikera att port 7 inte har något att göra med ICMP. Jag ' Jag redigerar mitt svar lite för att göra det tydligare.
- Det ' är rättvist. Det var lite förvirrande att läsa. Tyvärr.
Svar
Som andra redan har sagt är pings i allmänhet ICMP-baserade och har inga portar . Det finns dock en sådan sak som TCP Ping där istället för det typiska 3-vägs TCP-handskakningen endast de första 2 stegen utförs och fördröjningen mellan mäts. När mätningen har slutförts skickas en RST ACK för att stänga den halvöppna anslutningen. Sedan upprepas processen tills räknaren / varaktigheten uppnås eller du avslutade processen.Med TCP Ping (som jag ofta använder för att testa för öppna portar på servrar som mina systemadministratörer arbetar på) kan du ange destinationsportar som ska testas (för att verifiera att en server lyssnar på en viss port). Källporten är bara en kortfristig slumpmässig port.
Om du vill se ett exempel på ett TCP Ping-verktyg (det jag använder på Windows-system), här går du: TCPing . NMAP levereras också med ett verktyg som heter NPING som har en flagga som gör att den kan utföra TCP-baserade pings också.
Som en anmärkning, en del nätverksutrustning har också denna funktion, till exempel Cisco ASA som använder några av de nyare operativsystemversionerna. Kommandot är: ping tcp <destination IP> <destination port>
Svar
Ping använder inte port utan protokoll. Ping fungerar genom att skicka Internet Control Message Protocol (ICMP) echo-begäranpaket till målvärden och vänta på ett ICMP-ekosvar. Men som säkerhetshänsyn , detta är ofta inaktiverat.
Svar
Ping på Windows & Linux-system som standard använder ICMP. En pingförfrågan kommer att vara typ 8 & Kod 0 En ping-svar kommer att vara typ 0 & Kod 0
Det finns andra verktyg du kan använda för att köra ett ping-liknande test för TCP / UDP. Ett vanligt snabbtest för att se om en TCP-port är öppen använder telnet-klienten i Windows. Nmap är ett tredjepartsverktyg som du kan använda på Windows och Linux för att testa öppna portar.
Traceroute på Windows använder ICMP och Linux använder faktiskt UDP som standard.
Du kan verifiera detta med använder wire shark för att fånga trafik för att se hur dessa operativsystem använder felsökningsverktyg.
Frågan var förmodligen mer för att testa din kunskap om felsökningsverktyg.