{"id":20,"date":"2009-12-12T15:09:01","date_gmt":"2009-12-12T15:09:01","guid":{"rendered":"https:\/\/grupp-web.de\/cms\/?p=20"},"modified":"2015-05-01T15:14:03","modified_gmt":"2015-05-01T15:14:03","slug":"arping","status":"publish","type":"post","link":"https:\/\/grupp-web.de\/cms\/2009\/12\/12\/arping\/","title":{"rendered":"arping"},"content":{"rendered":"<h2>F\u00fcr was ben\u00f6tigt man arping \u00fcberhaupt?<\/h2>\n<p>Nun &#8230; z.B. um mit diesem Utility feststellen zu k\u00f6nnen ob ein bestimmter Rechner bzw. eine IP-Adresse im LAN an ist oder nicht. Daf\u00fcr ist zwar eigentlich ping das \u00fcbliche Utility aber falls der betreffende Rechner ICMP-Echo-Requests \u00fcber eine Firewall sperrt erh\u00e4lt man keine Antwort mehr. Diese Firewall-Einstellung ist z.B. bei Windows XP mit Service-Pack 2 und allen neueren Versionen von Windows die Default-Einstellung.<\/p>\n<p>Hier ein Beispiel:<\/p>\n<pre>r-andreas:~ # ping 172.16.0.201\r\nPING 172.16.0.201 (172.16.0.201) 56(84) bytes of data.\r\n^C\r\n--- 172.16.0.201 ping statistics ---\r\n7 packets transmitted, 0 received, <strong><span style=\"color: #ff6600;\">100% packet loss<\/span><\/strong>, time 5999ms<\/pre>\n<p>Es sieht also so aus als ob dieses Rechner derzeit nicht am Netz ist.<\/p>\n<p>Aber: F\u00fcr die Zustellung eines IP-Pakets wird in einem Ethernet-LAN die MAC-Adresse des Zielrechners ben\u00f6tigt. Ist diese nicht bekannt wird diese im Hintergrund \u00fcber eine ARP-Anfrage in Erfahrung gebracht. Genau das passiert auch bei einem ICMP-ping. Der ICMP-Echo-Request wird in einem IP-Paket an den Zielrechner gesendet und um diese IP-Paket in einen Ethernet-Frame zu verpacken wird die MAC-Adresse des Zielrechners \u00fcber ARP in Erfahrung gebracht. Das kann man \u00fcber Einsicht in den ARP-Cache unmittelbar nach dem ICMP-ping auch sehen:<\/p>\n<pre>r-andreas:~ # arp -n\r\nAddress\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 HWtype\u00a0 HWaddress\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flags Mask\u00a0 Iface\r\n172.16.0.132\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ether\u00a0\u00a0 00:0f:1f:ca:76:dc\u00a0\u00a0 C\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 eth0\r\n172.16.0.1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ether\u00a0\u00a0 00:0d:88:fc:c0:5f\u00a0\u00a0 C\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 eth0\r\n<span style=\"color: #ff6600;\">172.16.0.201\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ether\u00a0\u00a0 00:0c:29:1b:a1:2c\u00a0\u00a0 C\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 eth0<\/span><\/pre>\n<p>Hier ist der Rechner 172.16.0.201 sehr wohl aufgef\u00fchrt. Da ARP ein unbedingt notwendiges Protokoll ist, wird es \u00fcber die Firewall nicht gesperrt. Ohne ARP k\u00f6nnten die Clients im Netz nicht untereinander kommunizieren. Die Idee von arping ist es den ICMP-ping gleich zu umgehen, mit ARP-Requests zu arbeiten und dabei das altbekannt e ping-Utility nachzuahmen.<\/p>\n<h2>arping am Beispiel openSUSE 11.2<\/h2>\n<p>openSUSE 11.2 bringt im Paket &#8222;iputils&#8220; bereits ein arping-Utility mit. Damit kann man nun in einem Schritt feststellen ob eine bestimmte IP-Adresse im LAN aktuell vorhanden ist und dabei im Gegensatz zum vorherigen Ansatz wieder die Round-Trip-Zeiten wie beim normalen ping sehen.<\/p>\n<pre>r-andreas:~ # arping 172.16.0.201\r\nARPING 172.16.0.201 from 172.16.0.131 eth0\r\nUnicast reply from 172.16.0.201 [00:0C:29:1B:A1:2C]\u00a0 1.046ms\r\nUnicast reply from 172.16.0.201 [00:0C:29:1B:A1:2C]\u00a0 0.809ms\r\nUnicast reply from 172.16.0.201 [00:0C:29:1B:A1:2C]\u00a0 1.156ms\r\nUnicast reply from 172.16.0.201 [00:0C:29:1B:A1:2C]\u00a0 0.753ms\r\n^CSent 4 probes (1 broadcast(s))\r\nReceived 4 response(s)<\/pre>\n<p>Das betreffende arping-Utility ist die Variante von Alexey Kuznetsov.<\/p>\n<h2>Alternative arping-Version<\/h2>\n<p>Es gibt im Internet auch noch eine <a href=\"http:\/\/www.habets.pp.se\/synscan\/programs.php?prog=arping\" target=\"_blank\">arping-Version von Thomas Habets<\/a>. Diese Version erm\u00f6glicht es als Zielangabe auch eine MAC-Adresse statt einer IP-Adresse anzugeben. Die Idee dahinter ist es zu einem unbekannten Rechner von dem aber die MAC-Adresse bekannt ist die zugeh\u00f6rige IP-Adresse in Erfahrung zu bringen. Daf\u00fcr verwendet arping von Thomas Habets dann wieder einen ICMP-Echo-Request der aber wie schon oben erw\u00e4hnt z.B. von Windows XP SP2+ gesperrt und somit nicht beantwortet wird. Als Ziel-Adresse wird die Non-directed-Broadcast-Adresse 255.255.255.255 verwendet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr was ben\u00f6tigt man arping \u00fcberhaupt? Nun &#8230; z.B. um mit diesem Utility feststellen zu k\u00f6nnen ob ein bestimmter Rechner bzw. eine IP-Adresse im LAN an ist oder nicht. Daf\u00fcr ist zwar eigentlich ping das \u00fcbliche Utility aber falls der betreffende Rechner ICMP-Echo-Requests \u00fcber eine Firewall sperrt erh\u00e4lt man keine Antwort mehr. Diese Firewall-Einstellung ist &#8230; <a title=\"arping\" class=\"read-more\" href=\"https:\/\/grupp-web.de\/cms\/2009\/12\/12\/arping\/\" aria-label=\"Mehr Informationen \u00fcber arping\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-20","post","type-post","status-publish","format-standard","hentry","category-netze"],"_links":{"self":[{"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":1,"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":21,"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/posts\/20\/revisions\/21"}],"wp:attachment":[{"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/grupp-web.de\/cms\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}