{"id":778,"date":"2008-05-05T11:42:00","date_gmt":"2008-05-05T03:42:00","guid":{"rendered":"http:\/\/note.systw.net\/note\/?p=778"},"modified":"2023-11-05T11:54:43","modified_gmt":"2023-11-05T03:54:43","slug":"icmp","status":"publish","type":"post","link":"https:\/\/systw.net\/note\/archives\/778","title":{"rendered":"ICMP"},"content":{"rendered":"\n<p>ICMP(Internet Control Message Protocol,\u7db2\u969b\u7db2\u8def\u8a0a\u606f\u63a7\u5236\u5354\u5b9a)<br>\u4e00\u500b\u932f\u8aa4\u5075\u6e2c\u8207\u56de\u5831\u6a5f\u5236<br>\u904b\u4f5c\u5728tcp\/ip\u5354\u5b9a\u96c6\u4e4b\u5806\u758a\u5143\u4ef6,\u5c6c\u65bcOSI layer 3\u548ctcp\/ip\u7684internet layer<br>\u4e0d\u5177\u5099\u50b3\u9001\u80fd\u529b,\u9700\u88dd\u9032ip\u5c01\u5305\u5167\u50b3\u9001,\u5728ip\u8868\u982dprot\u6b04\u4f4d\u7684\u503c\u70ba0x01\u8868icmp<br>\u53ef\u53c3\u8003RFC 793\u548cRFC 2463<\/p>\n\n\n\n<p><strong>\u7528\u9014:<\/strong><br>\u5075\u6e2c\u9060\u7aef\u4e3b\u6a5f\u662f\u5426\u5b58\u5728<br>\u5efa\u7acb\u53ca\u7dad\u8b77\u8def\u7531\u8cc7\u6599<br>\u91cd\u5c0e\u8cc7\u6599\u50b3\u9001\u8def\u5f91<br>\u8cc7\u6599\u6d41\u91cf\u63a7\u5236&nbsp;<\/p>\n\n\n\n<p><br><strong>ICMP\u5e38\u898b\u6307\u4ee4<\/strong><br><strong>ping(packet internet groper)<\/strong>:\u4e3b\u8981\u7528\u4f86\u5224\u65b7\u76ee\u6a19\u4e3b\u6a5f\u662f\u5426\u5b58\u5728<br>\u3000\u4f7f\u7528echo request\u7d66\u76ee\u5730\u8a2d\u5099,\u82e5\u76ee\u5730\u8a2d\u5099\u6536\u5230\u5247\u6703\u56de\u61c9echo reply<br>\u3000ping 127.0.0.1\u53ef\u77e5\u9053tcp\/ip\u662f\u5426\u5df1\u7d93\u88ab\u5b89\u88dd\u672c\u6a5f\u4e0a<br>\u3000ping\u6210\u529f\u5fc5\u8981\u689d\u4ef6:1\u4e92\u76f8\u6709\u5230\u9054\u5c0d\u65b9\u8def\u7531,2echo\u5c01\u5305\u6c92\u88ab\u7981\u6b62,3\u6c92\u6709time out\u6389<br><strong>trace<\/strong>:\u4e3b\u8981\u7528\u4f86\u5224\u65b7\u76ee\u6a19\u4e3b\u6a5f\u6703\u7d93\u904e\u90a3\u4e9b\u7bc0\u9ede<br>\u3000\u5404\u7cfb\u7d71\u7684trace\u6307\u4ee4\u6703\u7a0d\u6709\u4e0d\u540c&nbsp;ex:\u5fae\u8edf\u7528tracert,cisco\u7528traceroute<br>\u3000\u539f\u7406:traceroute\u5c01\u5305\u9001\u51fa\u53bb\u5f8c,\u9014\u4e2d\u7684\u6bcf\u500b\u7bc0\u9ede\u90fd\u6703\u56de\u9001\u4e00\u500btype11 code0\u7684icmp\u5c01\u5305,\u5230\u7d42\u9ede\u6642\u6703\u56de\u9001\u4e00\u500btype3 code3\u7684icmp\u5c01\u5305<\/p>\n\n\n\n<p>ps:<br>ping\u5ee3\u64ad\u4f4d\u7f6e\u6642,\u53ef\u80fd\u7684\u56de\u61c9\u5982\u4e0b<br>#ping 192.168.1.255<br>Type escape sequence to abort.<br>Sending 2, 100-byte ICMP Echos to 192.168.1.255, timeout is 2 seconds:<br>Reply to request 0 from 192.168.1.2, 204 ms<br>Reply to request 0 from 192.168.1.1, 344 ms<br>Reply to request 1 from 192.168.1.2, 220 ms<br>Reply to request 1 from 192.168.1.1, 344 ms<br>\u8868\u793a\u67092\u500b\u4e3b\u6a5f\u56de\u61c9<\/p>\n\n\n\n<p>ps:<br>\u4f7f\u7528ping\u51fa\u73fe\u7121\u6cd5\u9054\u5230\u76ee\u5730\u800c\u7522\u751f\u7684\u8a0a\u606f<br>\u5e38\u898b\u7684\u6709\u4ee5\u4e0b:<br>destination unreachable:\u76ee\u7684\u7121\u6cd5\u5230\u9054,\u5e38\u898b<br>time exceeded:\u903e\u6642,\u5e38\u898b<br>network unreachable:\u8def\u5f91\u9078\u64c7\u6216\u5b9a\u5740\u5931\u6557<br>host unreachable:\u50b3\u9001\u5931\u6557,ex:\u932f\u8aa4\u7684\u8a2d\u5b9a<br>protocol unreachable:\u5354\u5b9a\u4e0d\u652f\u63f4<br>port unreachable:\u57e0\u7121\u6cd5\u4f7f\u7528&nbsp;<\/p>\n\n\n\n<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..\u00a0<\/p>\n\n\n\n<p><strong>IP\u548cICMP\u7684\u5c01\u88dd\u95dc\u4fc2<br><\/strong>[ip header][icmp header][icmp info]\u00a0\u00a0<\/p>\n\n\n\n<p><strong>ICMP header\u5c01\u5305\u683c\u5f0f<\/strong><br>[type 8][code 8][checksum 16]<br>[other option]&nbsp;<\/p>\n\n\n\n<p>\u70ba\u8b93\u6a5f\u5668\u4f86\u8b58\u5225\u4e0d\u540c\u7684\u9023\u7dda\u72c0\u6cc1,\u900f\u904etype(\u985e\u5225)0-36,\u8207code(\u4ee3\u78bc)\u8868\u793a\u6b21\u985e\u5225<br>\u5e38\u7528type\u5982\u4e0b\u8868<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>Type<\/th><th>Code<\/th><th>Description<\/th><\/tr><tr><td>0 &#8211; Echo Reply<br>\u662f\u4e00\u500b\u56de\u61c9\u4fe1\u606f<\/td><td>0<\/td><td>Echo reply (used to ping)<\/td><\/tr><tr><td>1 and 2<\/td><td>&nbsp;<\/td><td><em>Reserved<\/em><\/td><\/tr><tr><td rowspan=\"14\">3 &#8211; Destination Unreachable<br>\u76ee\u7684\u5730\u7121\u6cd5\u5230\u9054,\u539f\u56e0\u7528code\u8868\u793a<\/td><td>0<\/td><td>Destination network unreachable\u7121\u6cd5\u5230\u9054\u7db2\u8def<\/td><\/tr><tr><td>1<\/td><td>Destination host unreachable\u7121\u6cd5\u5230\u9054\u4e3b\u6a5f<\/td><\/tr><tr><td>2<\/td><td>Destination protocol unreachable\u7121\u6cd5\u5230\u9054\u5354\u5b9a<\/td><\/tr><tr><td>3<\/td><td>Destination port unreachable\u7121\u6cd5\u5230\u9054\u9023\u63a5\u57e0<\/td><\/tr><tr><td>4<\/td><td>Fragmentation required, and DF flag set\u9700\u8981\u5207\u5272\u8207\u8a2d\u5b9a\u8cc7\u6599\u5143\u50b3\u9001<\/td><\/tr><tr><td>5<\/td><td>Source route failed\u5931\u6557\u7684\u4f86\u6e90\u8def\u5f91<\/td><\/tr><tr><td>6<\/td><td>Destination network unknown\u672a\u77e5\u7684\u76ee\u7684\u5730\u7db2\u8def<\/td><\/tr><tr><td>7<\/td><td>Destination host unknown\u672a\u77e5\u7684\u76ee\u7684\u5730\u4e3b\u6a5f<\/td><\/tr><tr><td>8<\/td><td>Source host isolated\u88ab\u5b64\u7acb\u7684\u4f86\u6e90\u4e3b\u6a5f<\/td><\/tr><tr><td>9<\/td><td>Network administratively prohibited\u8cc7\u6599\u7db2\u8def\u7ba1\u7406\u4e0a\u7684\u7981\u6b62\u901a\u8a0a<\/td><\/tr><tr><td>10<\/td><td>Host administratively prohibited\u8cc7\u6599\u4e3b\u6a5f\u7ba1\u7406\u4e0a\u7684\u7981\u6b62\u901a\u8a0a<\/td><\/tr><tr><td>11<\/td><td>Network unreachable for TOS\u7121\u6cd5\u5230\u9054\u7db2\u8def\u7684\u670d\u52d9\u985e\u578b<\/td><\/tr><tr><td>12<\/td><td>Host unreachable for TOS\u7121\u6cd5\u5230\u9054\u4e3b\u6a5f\u7684\u670d\u52d9\u985e\u578b<\/td><\/tr><tr><td>13<\/td><td>Communication administratively prohibited<\/td><\/tr><tr><td>4 &#8211; Source Quench<br>\u7576router\u8ca0\u8f09\u904e\u6642\u6216\u7db2\u8def\u58c5\u585e,\u7528\u4f86\u7aed\u6b62\u4f86\u6e90\u7e7c\u7e8c\u767c\u9001\u8a0a\u606f,\u4f46\u53ef\u80fd\u6703\u52a0\u91cd\u4ea4\u901a<\/td><td>0<\/td><td>Source quench (congestion control)<\/td><\/tr><tr><td rowspan=\"4\">5 &#8211; Redirect Message<br>\u767c\u73fe\u8d70\u932f\u65b9\u5411,\u7528\u4f86\u91cd\u65b0\u5c0e\u5411\u8def\u7531\u8def\u5f91<\/td><td>0<\/td><td>Redirect Datagram for the Network<\/td><\/tr><tr><td>1<\/td><td>Redirect Datagram for the Host<\/td><\/tr><tr><td>2<\/td><td>Redirect Datagram for the TOS &amp; network<\/td><\/tr><tr><td>3<\/td><td>Redirect Datagram for the TOS &amp; host<\/td><\/tr><tr><td>6<\/td><td>&nbsp;<\/td><td>Alternate Host Address<\/td><\/tr><tr><td>7<\/td><td>&nbsp;<\/td><td><em>Reserved<\/em><\/td><\/tr><tr><td>8 &#8211; Echo Request<br><strong>\u8acb\u6c42\u56de\u61c9\u8a0a\u606f&nbsp;<\/strong>ex:ping<\/td><td>0<\/td><td>Echo request<\/td><\/tr><tr><td>9 &#8211; Router Advertisement<br>\u8def\u7531\u5668\u5ee3\u64ad,\u8def\u7531\u5668\u767c\u6398\u8a0a\u606f,\u4f7f\u7528\u591a\u9ede\u5ee3\u64ad<\/td><td>0<\/td><td>Router Advertisement<\/td><\/tr><tr><td>10 &#8211; Router Solicitation<br>\u5fb5\u6c42\u8def\u7531\u5668\u8a0a\u606f<\/td><td>0<\/td><td>Router discovery\/selection\/solicitation<\/td><\/tr><tr><td rowspan=\"2\">11 &#8211; Time Exceeded<br>\u7576\u8cc7\u6599\u5c01\u5305\u5728\u67d0\u4e9b\u8def\u7531\u73fe\u8c61\u4e2d\u903e\u6642\ufe50\u544a\u77e5\u4f86\u6e90\u8a72\u5c01\u5305\u5df2\u88ab\u5ffd\u7565\u5ffd\u7565,\u53ef\u7528\u4f86\u907f\u514dloop&nbsp;ex:trace<\/td><td>0<\/td><td>TTL expired in transit<\/td><\/tr><tr><td>1<\/td><td>Fragment reassembly time exceeded<\/td><\/tr><tr><td rowspan=\"3\">12 &#8211; Parameter Problem: Bad IP header<br>\u8868\u982d\u6b04\u4f4d\u542b\u6709\u4e0d\u5408\u6cd5\u4e4b\u503c\ufe50\u6216reassembly\u5931\u6557,\u6703\u56de\u8986\u4f86\u6e90\u4e3b\u6a5f\u95dc\u65bc\u53c3\u6578\u932f\u8aa4\u7684\u8a0a\u606f<\/td><td>0<\/td><td>Pointer indicates the error<\/td><\/tr><tr><td>1<\/td><td>Missing a required option<\/td><\/tr><tr><td>2<\/td><td>Bad length<\/td><\/tr><tr><td>13 &#8211; Timestamp<br>\u8981\u6c42\u5c0d\u65b9\u9001\u51fa\u6642\u9593\u8a0a\u606f,\u7528\u4ee5\u8a08\u7b97\u8def\u7531\u6642\u9593\u7684\u5dee\u7570,\u4ee5\u6eff\u8db3\u540c\u6b65\u6027\u5354\u5b9a\u7684\u8981\u6c42<\/td><td>0<\/td><td>Timestamp<\/td><\/tr><tr><td>14 &#8211; Timestamp Reply<br>\u6b64\u8a0a\u606f\u7d14\u7cb9\u662f\u56de\u61c9 Timestamp Request \u7528\u7684<\/td><td>0<\/td><td>Timestamp reply<\/td><\/tr><tr><td>15 &#8211; Information Request<br>\u5728 RARP \u5354\u5b9a\u61c9\u7528\u4e4b\u524d,\u6b64\u8a0a\u606f\u662f\u7528\u4f86\u5728\u958b\u6a5f\u6642\u53d6\u5f97\u7db2\u8def\u4fe1\u606f<\/td><td>0<\/td><td>Information Request<\/td><\/tr><tr><td>16 &#8211; Information Reply<br>\u7528\u4ee5\u56de\u61c9 Infromation Request \u8a0a\u606f<\/td><td>0<\/td><td>Information Reply<\/td><\/tr><tr><td>17 &#8211; Address Mask Request<br>\u9019\u8a0a\u606f\u662f\u7528\u4f86\u67e5\u8a62\u5b50\u7db2\u8def mask \u8a2d\u5b9a\u4fe1\u606f<\/td><td>0<\/td><td>Address Mask Request<\/td><\/tr><tr><td>18 &#8211; Address Mask Reply<br>\u56de\u61c9\u5b50\u7db2\u8def mask \u67e5\u8a62\u8a0a\u606f<\/td><td>0<\/td><td>Address Mask Reply<\/td><\/tr><tr><td>19<\/td><td>&nbsp;<\/td><td><em>Reserved<\/em>&nbsp;for security<\/td><\/tr><tr><td>20 through 29<\/td><td>&nbsp;<\/td><td><em>Reserved<\/em>&nbsp;for robustness experiment<\/td><\/tr><tr><td>30 &#8211; Traceroute<\/td><td>0<\/td><td>Information Request<\/td><\/tr><tr><td>31<\/td><td>&nbsp;<\/td><td>Datagram Conversion Error<\/td><\/tr><tr><td>32<\/td><td>&nbsp;<\/td><td>Mobile Host Redirect<\/td><\/tr><tr><td>33<\/td><td>&nbsp;<\/td><td>Where-Are-You (originally meant for IPv6)<\/td><\/tr><tr><td>34<\/td><td>&nbsp;<\/td><td>Here-I-Am (originally meant for IPv6)<\/td><\/tr><tr><td>35<\/td><td>&nbsp;<\/td><td>Mobile Registration Request<\/td><\/tr><tr><td>36<\/td><td>&nbsp;<\/td><td>Mobile Registration Reply<\/td><\/tr><tr><td>37<\/td><td>&nbsp;<\/td><td>Domain Name Request<\/td><\/tr><tr><td>38<\/td><td>&nbsp;<\/td><td>Domain Name Reply<\/td><\/tr><tr><td>39<\/td><td>&nbsp;<\/td><td>SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol<\/td><\/tr><tr><td>40<\/td><td>&nbsp;<\/td><td>Photuris, Security failures<\/td><\/tr><tr><td>41<\/td><td>&nbsp;<\/td><td>ICMP for experimental mobility protocols such as Seamoby [RFC4065]<\/td><\/tr><tr><td>42 through 255<\/td><td>&nbsp;<\/td><td><em>Reserved<\/em><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p id=\"h:t5\">&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ICMP(Internet Control Message  &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[25],"tags":[],"class_list":["post-778","post","type-post","status-publish","format-standard","hentry","category-osi-layer3"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/comments?post=778"}],"version-history":[{"count":0,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/778\/revisions"}],"wp:attachment":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/media?parent=778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/categories?post=778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/tags?post=778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}