Narzędzia użytkownika

Narzędzia witryny


sk1:ip_icmp_dhcp

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
sk1:ip_icmp_dhcp [2018/04/05 11:42]
jkonczak [Pomiędzy warstwą łącza danych a warstwą sieci]
sk1:ip_icmp_dhcp [2018/04/05 13:17] (aktualna)
jkonczak [Pomiędzy warstwą łącza danych a warstwą sieci]
Linia 13: Linia 13:
   * TTL   * TTL
   * <​html><​small></​html>​ [[https://​en.wikipedia.org/​wiki/​Differentiated_services|DiffServ]] i [[https://​en.wikipedia.org/​wiki/​Explicit_Congestion_Notification#​Operation_of_ECN_with_IP|ECN]] (wcześniej ToS)<​html></​small></​html>​   * <​html><​small></​html>​ [[https://​en.wikipedia.org/​wiki/​Differentiated_services|DiffServ]] i [[https://​en.wikipedia.org/​wiki/​Explicit_Congestion_Notification#​Operation_of_ECN_with_IP|ECN]] (wcześniej ToS)<​html></​small></​html>​
 +
 +<​html><​small></​html>​
 +Dla przetestowania fragmentacji spróbuj zmienić rozmiar pakietu ping: ''​ping -s <​rozmiar>​ <​cel>'',​ np: \\
 +''​ping -s 5000 1.1.1.1'' ​
 +<​html></​small></​html>​
  
 <​html><​!-- <​html><​!--
Linia 27: Linia 32:
   * testowanie łączności (ping)   * testowanie łączności (ping)
  
-Aby zaobserwować komunikaty ICMP, można:+Aby zaobserwować komunikaty ICMP, można ​wykonać:
   * ''​ping <//​cel//>''​   * ''​ping <//​cel//>''​
   * ''​traceroute [-q 1] -T <//​cel//>''​ (porównaj z ''​traceroute -I <//​cel//>''​)   * ''​traceroute [-q 1] -T <//​cel//>''​ (porównaj z ''​traceroute -I <//​cel//>''​)
-  * połączenie do nieużywanego portu, np: ''​host . lab-net-1''​ (z lab-net) +  * połączenie do nieużywanego portu, np: ''​host ​pl. lab-net-1''​ (z lab-net) 
-  * połączenie do nieosiągalnego (np. nieistniejącego) adresu, np. ''​host . lab-sec-33''​ (z lab-net)+  * połączenie do nieosiągalnego (np. nieistniejącego) adresu, np. ''​host ​pl. lab-sec-33''​ (z lab-net)
 <​html><​!-- <​html><​!--
 (lub ''​tftp lab-net-1 -c get readme.txt''​) (lub ''​tftp lab-net-1 -c get readme.txt''​)
Linia 44: Linia 49:
 Dzięki IGMP urządzenia sieciowe wysyłają wiadomości multicastowe tylko zainteresowanym odbiorcom ​ [[https://​en.wikipedia.org/​wiki/​IGMP_snooping|[2]]],​ a urządzenia końcowe mogą przyjmować tylko ramki z interesujących ich grup multicastowych. \\ Dzięki IGMP urządzenia sieciowe wysyłają wiadomości multicastowe tylko zainteresowanym odbiorcom ​ [[https://​en.wikipedia.org/​wiki/​IGMP_snooping|[2]]],​ a urządzenia końcowe mogą przyjmować tylko ramki z interesujących ich grup multicastowych. \\
 Wyświetlenie grup do których należy komputer [IP]: ''​netstat -g''​ \\ Wyświetlenie grup do których należy komputer [IP]: ''​netstat -g''​ \\
-Wyświetlenie grup do których należy komputer [MAC]: ''​cat /​proc/​net/​igmp''​ \\+Wyświetlenie grup do których należy komputer [MAC]: ''​cat /​proc/​net/​igmp''​\\
 Oczekiwanie na wiadomość multicastową:​ ''​socat udp-recvfrom:​2222,​ip-add-membership=239.1.2.3:​br0 -''​ Oczekiwanie na wiadomość multicastową:​ ''​socat udp-recvfrom:​2222,​ip-add-membership=239.1.2.3:​br0 -''​
 +++++ Przykładowy wynik poleceń: | <​html><​pre>​
 +# netstat -ng
 +IPv6/IPv4 Group Memberships
 +Interface ​      ​RefCnt Group
 +--------------- ------ ---------------------
 +br0             ​1 ​     <span title="​Adres 224.0.0.251 odpowiada adresowi MAC 01:​0E:​00:​00:​FB"​ style="​background-color:​rgba(128,​0,​128,​0.2)">​224.0.0.251</​span>​
 +br0             ​1 ​     224.0.0.1
 +
 +# cat /​proc/​net/​igmp
 +Idx     ​Device ​   : Count Querier ​      ​Group ​   Users Timer    Reporter
 +3       ​wlan0 ​    : ​    ​2 ​     V3
 +                                <span title="​Adres 224.0.0.251 odpowiada adresowi MAC 01:​0E:​00:​00:​FB,​ stąd FB0000E0"​ style="​background-color:​rgba(128,​0,​128,​0.2)">​FB0000E0</​span> ​    1 0:​00000000 ​              0
 +                                010000E0 ​    1 0:​00000000 ​              0
 +</​pre></​html>​
 +++++
 <​html></​small></​html>​ <​html></​small></​html>​
  
Linia 69: Linia 89:
 ''​arping -I <//​interfejs//>​ <//adres IP//>''​ \\ ''​arping -I <//​interfejs//>​ <//adres IP//>''​ \\
 ''​arping -I //br0// //​150.254.32.129//''​ ''​arping -I //br0// //​150.254.32.129//''​
 +++++ Przykładowe wyniki poleceń: |
 +<​html><​pre>​
 +# ip -4 n
 +10.0.0.1 dev wlan0 lladdr e8:​de:​27:​34:​8c:​91 <span title="​System uznaje wpis za aktualny"​ style="​background-color:​rgba(0,​255,​0,​0.2)">​REACHABLE</​span>​
 +10.0.0.253 dev wlan0  <span title="​System próbował znaleźć adres MAC dla żądanego IP, ale próba nie powiodła się" style="​background-color:​rgba(255,​0,​0,​0.2)">​FAILED</​span>​
 +10.0.0.254 dev wlan0 lladdr cc:​af:​78:​34:​82:​d7 <span title="​System uznaje wpis za przeterminowany,​ ale przechowuje go żeby kolejne żądanie o ten adres IP wysłać najpierw unicastowo pod pamiętany MAC" style="​background-color:​rgba(255,​255,​0,​0.4)">​STALE</​span>​
 +10.0.1.2 dev br0 lladdr 84:​16:​f9:​bb:​f4:​a3 STALE
 +10.0.1.3 dev br0 lladdr 44:​8a:​5b:​21:​4c:​e3 STALE
 +10.0.1.250 dev br0 lladdr 02:​00:​00:​00:​00:​01 STALE
  
 +# arping -c 5 -I br0 10.0.1.250
 +ARPING 10.0.1.250
 +42 bytes from 02:​00:​00:​00:​00:​01 (10.0.1.250):​ index=0 time=120.205 usec
 +42 bytes from 02:​00:​00:​00:​00:​01 (10.0.1.250):​ index=1 time=59.082 usec
 +42 bytes from 02:​00:​00:​00:​00:​01 (10.0.1.250):​ index=2 time=55.915 usec
 +42 bytes from 02:​00:​00:​00:​00:​01 (10.0.1.250):​ index=3 time=57.665 usec
 +42 bytes from 02:​00:​00:​00:​00:​01 (10.0.1.250):​ index=4 time=56.081 usec
 +
 +--- 10.0.1.250 statistics ---
 +5 packets transmitted,​ 5 packets received, ​  0% unanswered (0 extra)
 +rtt min/​avg/​max/​std-dev = 0.056/​0.070/​0.120/​0.025 ms</​pre></​html>​++++
 Slajdy: ''​[[http://​www.cs.put.poznan.pl/​mlibuda/​ARP.pdf|Protokół ARP]]''​ Slajdy: ''​[[http://​www.cs.put.poznan.pl/​mlibuda/​ARP.pdf|Protokół ARP]]''​
  
 +Opis implementacji ARP pod Linuksem: ''​man 7 arp''​ (samo ''​man arp''​ pokaże pomoc dla polecenia ''​arp''​)
  
 <​html><​small>​ <​html><​small>​
 <​h3>​[EKSTRA]</​h3>​ <​h3>​[EKSTRA]</​h3>​
 </​html>​ </​html>​
 +Fragmentacja IP a rzeczywistość:​ https://​blog.cloudflare.com/​ip-fragmentation-is-broken/​
 +
 Protokół ARP znalazł zastosowanie w wielu technologiach warstwy 2 ([[https://​www.iana.org/​assignments/​arp-parameters/​arp-parameters.xhtml|[1]]]),​ natomiast na warstwie 3 używany jest tylko dla adresów IPv4. Protokół ARP znalazł zastosowanie w wielu technologiach warstwy 2 ([[https://​www.iana.org/​assignments/​arp-parameters/​arp-parameters.xhtml|[1]]]),​ natomiast na warstwie 3 używany jest tylko dla adresów IPv4.
  
-Fragmentacja IP a rzeczywistość: https://blog.cloudflare.com/ip-fragmentation-is-broken/+Komenda ''​arp''​ jest też dostępna w systemie Windows: https://technet.microsoft.com/en-us/library/​cc940107.aspx
  
 Q: Dlaczego komenda ''​arping''​ nie uzupełnia mapowań IP—MAC?\\ Q: Dlaczego komenda ''​arping''​ nie uzupełnia mapowań IP—MAC?\\
sk1/ip_icmp_dhcp.1522921366.txt.gz · ostatnio zmienione: 2018/04/05 11:42 przez jkonczak