Jump to content
Nytro

PING port

Recommended Posts

Daca te referi la ping-ul clasic, din cate stiu eu, foloseste protocolul ICMP (care este OSI Layer 3 aka Network Layer, desi e incapsulat in IPv4), deci nu are port (din cate stiu eu, doar protocoalele din OSI Layer 4 aka Transport Layer au port, sau cel putin cand e vorba de TCP/UDP).

Daca te referi la TCP/UDP ping, atunci presupun ca e implementation specific.

 

Just my 2cents.

Edited by u0m3
Link to comment
Share on other sites

  • Active Members
2 hours ago, Sandu said:

Ping-ul poate avea orice port

LOL :))

 

root # tcpdump -nnvXSs 1514 -c1 icmp
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1514 bytes
23:11:10.370321 IP (tos 0x20, ttl  48, id 34859, offset 0, flags [none], length: 84) 
69.254.213.43 > 72.21.34.42: icmp 64: echo request seq 0
        0x0000:  4520 0054 882b 0000 3001 7cf5 45fe d52b  E..T.+..0.|.E..+
        0x0010:  4815 222a 0800 3530 272a 0000 25ff d744  H."..50'..%..D
        0x0020:  ae5e 0500 0809 0a0b 0c0d 0e0f 1011 1213  .^..............
        0x0030:  1415 1617 1819 1a1b 1c1d 1e1f 2021 2223  .............!"#
        0x0040:  2425 2627 2829 2a2b 2c2d 2e2f 3031 3233  $%&'()*+,-./0123
        0x0050:  3435 3637                                4567

 

PING -> ICMP. Nu poti face ping pe port. Cum zicea si @u0m3 cand cineva spune ca face ping pe portu' x se refera la TCP / UDP (layer 4) pentru a vedea ca portu' ala e deschis / inchis. 

 

Mai general, cand cineva face ping pe portu' 80 inseamna ca trimite un TCP SYN sistemului respectiv pentru a vedea daca raspunde sau nu (ACK). PING-ul real, original, foloseste ICMP care nu foloseste porturi deloc. (sunt irelevante porturile la nivelul layerului de Internet).

 

 

Edited by MrGrj
  • Upvote 3
Link to comment
Share on other sites

  • Active Members

Ciudate intrebari. Pentru mine nu au nici-o logica.

 

Port = e un endpoint. e asociat cu adresa IP a unui host si tipul protocolului de comunicatie.

UDP / TCP = transport layer protocols. Intr-adevar, in headerele acestora se specifica un port number sursa / destinatie (16-bit)

 

Protocol != Endpoint. 

 

Protocolul implica la un moment dat un endpoint. 

 

e.g: protocol: TCP, IP address: 1.2.3.4, port number: 80

 

Bag pula-n ele intrebari, ma duc sa contemplez asupra cuantumului ezoteric intreprinzator. PWP

Link to comment
Share on other sites

9 minutes ago, theeternalwanderer said:

@aelius numerele respective nu reprezinta numarul protocolului? Ce legatura are cu un port propriu-zis?

 

Zicea cineva mai sus:

7 hours ago, u0m3 said:

Daca te referi la ping-ul clasic, din cate stiu eu, foloseste protocolul ICMP (care este OSI Layer 3 aka Network Layer, desi e incapsulat in IPv4), deci nu are port (din cate stiu eu, doar protocoalele din OSI Layer 4 aka Transport Layer au port, sau cel putin cand e vorba de TCP/UDP).

Daca te referi la TCP/UDP ping, atunci presupun ca e implementation specific.

 

Just my 2cents.

 

 

Layer 4 e o baba ce merge cu papornitele in spate

Layer 3 o vede si spune: Fa, ce pana mea ai in papornite ? Ce cari acolo ? :))))

  • Upvote 2
Link to comment
Share on other sites

5 hours ago, Sandu said:

Ping-ul poate avea orice port :D

Depinde la ce vrei sa ii dai ping. Exemplu: Daca vrei sa dai ping unui site se v-a folosi de portul 80 sau 8080.

Iar pentru ping-ul tcp, udp intre echipamente, se foloseste portul 0.

Eu am 443 ... ce fac ?

Link to comment
Share on other sites

Da, am avut o discutie si cu un coleg si m-am uitat peste RFC-ul care defineste protocolul IP si nu se foloseste terminologia de port.

Insa, teoretic vorbind, e tot un port (al protocolului IP). Noi suntem obisnuiti cu definitia clasica de port: un numar pe 16 biti bla bla.

 

Insa in esente, porturile se folosesc pentru multiplexarea fluxului de date. Mai exact, anumite date ajung pe portul 80, altele ajung pe portul 25 etc (multiplexare).

 

In cazul de fata, aceasta multiplexare nu se refera la un port care e folosit de un anumit program (ca TCP 80 de catre Apache), ci este un port care indica, cum spune standardul "next higher level protocol". Altfel spus, acest IP protocol/port nu face diferentierea intre programele la care trebuie sa ajunga date ci face diferentierea intre "<<programele>> pentru procesarea protocolului", cum ar fi TCP/UDP/ICMP.  In acest gaz "programele" reprezinta bucatile de cod care se ocupa de procesarea protocoalelor urmatoare.

 

Plm, nu stiu daca am explicat cum trebuie.

  • Upvote 3
Link to comment
Share on other sites

@Nytro, intrebarea e masluita. Corect ar fi care este numarul protocolul ICMP/TCP/UDP? In nici un caz "Care port este folosit de ICMP/TCP/UDP?".

 

In RFC-791 3.1 Internet Header Format se discuta un camp numit Protocol (8 biti) unde se specifica care este protocolul pentru layer-ul urmator:

Quote

Protocol:  8 bits

    This field indicates the next level protocol used in the data
    portion of the internet datagram.  The values for various protocols
    are specified in "Assigned Numbers" [9].

[9] - RFC-790 https://tools.ietf.org/html/rfc790

 

 

Link to comment
Share on other sites

Just now, Sandu said:

Scoti ssl-ul :(

A fost doar un exemplu

 

(o.O)

 

Daca prin PING te referi la a verifica daca un port TCP este deschis (chestie care nu se cheama PING cum a explicat si @MrGrj) atunci nu ai nici o treaba cu SSL/TSL. Vezi mai jos explicatia:

 

PING - ICMP Echo - functioneaza la Layer 3 in modelul OSI (Network Layer) si  Layer 2 in TCP/IP (Internet Layer)

Scan TCP - SYN Scan (de exemplu) - functioneaza la Layer 4 in modelul OSI (Transport Layer) si Layer 3 in TCP/IP (Host-to-Host Transport Layer)

SSL/TLS este implementat in Layer 5 in OSI (Session Layer) si in Layer 4 in TCP/IP (Application Layer)

 

 

  • Upvote 1
Link to comment
Share on other sites

10 hours ago, Nytro said:

Da, am avut o discutie si cu un coleg si m-am uitat peste RFC-ul care defineste protocolul IP si nu se foloseste terminologia de port.

Insa, teoretic vorbind, e tot un port (al protocolului IP). Noi suntem obisnuiti cu definitia clasica de port: un numar pe 16 biti bla bla.

 

Insa in esente, porturile se folosesc pentru multiplexarea fluxului de date. Mai exact, anumite date ajung pe portul 80, altele ajung pe portul 25 etc (multiplexare).

 

In cazul de fata, aceasta multiplexare nu se refera la un port care e folosit de un anumit program (ca TCP 80 de catre Apache), ci este un port care indica, cum spune standardul "next higher level protocol". Altfel spus, acest IP protocol/port nu face diferentierea intre programele la care trebuie sa ajunga date ci face diferentierea intre "<<programele>> pentru procesarea protocolului", cum ar fi TCP/UDP/ICMP.  In acest gaz "programele" reprezinta bucatile de cod care se ocupa de procesarea protocoalelor urmatoare.

 

Plm, nu stiu daca am explicat cum trebuie.

Wut?

Ping-ul, mai precis toata suita ICMP e un protocol, nu port. Porturile TCP/UDP se folosesc pentru identificarea unui serviciu.

E mega stupid sa zici ca ICMP e un port. Sunt notiuni total diferite si e ca si cum ai zice ca o structura e tot aia cu un array in C.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...