Ieri intervievatorul mă întreabă care este numărul portului pentru ping și ce protocol ping folosește TCP / UDP.
După interviu caut pe internet și a găsit rezultate diferite, cineva spune că ICMP folosește Portul 7, cineva spune că nu folosește numărul de port, pe un site l-am găsit folosind protocolul IP 1 etc.
Poate cineva să mă ajute cu explicația corectă?
Cu respect, Nishad
Comentarii
- TCP și UDP sunt protocoale layer-4, iar porturile sunt adrese TCP sau UDP, dar ICMP face parte din IP (layer-3). Din RFC 792: " ICMP, folosește suportul de bază al IP ca și cum ar fi un protocol de nivel superior, totuși, ICMP este de fapt o parte integrantă a IP și trebuie să fie implementat de fiecare modul IP. "
- Discutarea straturilor este un pic înșelătoare, deoarece ICMP, TCP și UDP rulează direct pe IP ca protocoale 1 , 6 și respectiv 17. În PO, examinați anteturile pentru ICMP / TCP / UDP sau rulați o captură de pachete pentru a vedea în ce fel diferă. Nu uitați că ICMP este complet separat de TCP și UDP.
- Ați primit jobul?
- Da, am primit jobul.
Răspuns
Comanda ping standard nu folosește TCP sau UDP. Folosește ICMP. Pentru a fi mai precise, se utilizează tipul 8 (mesaj ecou) și tipul 0 (mesaj răspuns ecou) ICMP. ICMP nu are porturi!
Consultați RFC792 pentru detalii suplimentare.
Comentarii
- Pentru a clarifica, ICMP pleacă direct pe IP ca protocol IP 1. În antetul ICMP aveți tipurile de răspuns ecou etc. Comparați acest lucru cu TCP și UDP care rulează pe IP ca protocoale IP 6 și respectiv 17 și utilizează propriul sistem de porturi pentru diferențierea aplicațiilor.
- " ICMP are fără porturi! " Deși are ID-uri de interogare care sunt tratate ca porturi în anumite circumstanțe (în special circumstanțe legate de NAT).
Răspuns
Aș dori să vă ofer un răspuns suplimentar, în special la această parte a întrebării:
… cineva spune că ICMP folosește Portul 7
Portul 7 (atât TCP, cât și UDP) este utilizat pentru serviciul „ecou”.
Dacă acest serviciu este disponibil pe un computer, portul UDP 7 ar putea fi utilizat în loc de al ICMP pentru a efectua un „ping”.
Cu toate acestea, majoritatea computerelor moderne nu au „ecoul” serviciul rulează, deci efectuează „ping” folosind portul UDP 7 ins tead de ICMP nu ar funcționa.
Și: După cum indică deja cuvintele „în loc de ICMP”, „ping” peste portul UDP 7 nu NU utilizați ICMP, dar UDP, care este un protocol complet diferit!
Comentarii
- Ca o respingere la răspuns, iată o postare pe care cineva a spus-o pe un forum pe care am găsit-o despre acest subiect: " Oamenii care cred că ICMP folosește cumva portul 7 (vechiul serviciu de ecou în care ar fi ecou la fiecare caracter pe care l-ați trimis la el) nu ar trebui să fie în rețea și ar trebui să fie împușcat. Dacă nu sunteți de acord cu ceea ce am spus, uitați-vă la structura unei datagrame IP și a unei datagrame ICMP. ICMP este încapsulat în datagrama IP și apoi în datagrama IP în orice material media trebuie să formeze cadrul. "
- " ICMP nu utilizează un port, deoarece nu are un loc pentru un port. Este încapsulat doar cu o datagramă IP. Veți găsi opțiunea de port numai pe datagramele UDP și TCP. Pentru a bloca ecoul ICMP, ați bloca în mod explicit tipul și codul "
- Subiectul complet al forumului este comunitate. infosecinstitute.com/discussion/8777
- @JesseP. Am scris că ICMP folosește portul 7? Nu. Am scris chiar cuvântul " în loc de " în " în loc de ICMP " bold pentru a indica faptul că portul 7 nu are nimic de-a face cu ICMP. ' voi edita puțin răspunsul pentru a clarifica acest lucru.
- Acest ' este corect. A fost cam confuz să citesc. Ne pare rău.
Răspuns
După cum au afirmat alții, în general ping-urile sunt bazate pe ICMP și nu au porturi . Există, totuși, un astfel de lucru ca TCP Ping în care, în loc de strângerea de mână tipică TCP cu 3 căi, se efectuează doar primii 2 pași și se măsoară întârzierea între. Odată ce măsurarea a fost finalizată, un RST ACK este trimis pentru a închide conexiunea pe jumătate deschisă. Apoi procesul se repetă până când contorul / durata este atins sau până când ați terminat procesul.Folosind TCP Ping (pe care îl folosesc FRECVENT pentru a testa porturile deschise pe serverele la care lucrează administratorii de sisteme) puteți specifica porturile de destinație pentru testare (pentru a verifica dacă un server ascultă pe un anumit port). Portul sursă este doar un port efemer aleatoriu.
Dacă „doriți să vedeți un exemplu de utilitar TCP Ping (cel pe care îl folosesc pe sistemele Windows), iată: TCPing . De asemenea, NMAP vine cu un utilitar numit NPING care are un flag care îi permite să efectueze și pinguri bazate pe TCP.
Ca o notă, unele echipamente de rețea are, de asemenea, această capacitate, cum ar fi ASC-urile Cisco care utilizează unele dintre cele mai noi versiuni ale sistemului de operare. Comanda este: ping tcp <destination IP> <destination port>
Răspuns
Ping nu utilizează portul, ci protocolul. Ping funcționează trimițând pachete de solicitare de ecou Internet Control Message Protocol (ICMP) către gazda țintă și așteptând un răspuns de ecou ICMP. , acest lucru este deseori dezactivat.
Răspuns
Ping pe Windows & Sisteme Linux în mod implicit utilizați ICMP. O cerere de ping va fi de tip 8 & Cod 0 Un răspuns de ping va fi de tip 0 & Cod 0
Există și alte utilitare pe care le puteți folosi pentru a rula un test de tip ping pentru TCP / UDP. Un test rapid obișnuit pentru a vedea dacă un port TCP este deschis este utilizarea clientului telnet pe Windows. Nmap este un utilitar terță parte pe care îl puteți utiliza pe Windows și Linux pentru a testa porturile deschise.
Traceroute pe Windows utilizează ICMP, iar Linux utilizează UDP în mod implicit.
Puteți verifica acest lucru prin folosind rețele de sârmă pentru a capta trafic pentru a vedea cum aceste sisteme de operare folosesc instrumente de depanare.
Întrebarea a fost probabil mai mult pentru a vă testa cunoștințele privind utilitățile de depanare.