{"id":310,"date":"2023-04-20T15:55:51","date_gmt":"2023-04-20T07:55:51","guid":{"rendered":"http:\/\/idc.birk.cn\/?p=310"},"modified":"2023-04-20T22:13:48","modified_gmt":"2023-04-20T14:13:48","slug":"sendip%e5%8f%91%e5%8c%85%e5%b7%a5%e5%85%b7","status":"publish","type":"post","link":"https:\/\/idc.birk.cn\/?p=310","title":{"rendered":"Sendip\u53d1\u5305\u5de5\u5177\u4f7f\u7528\u65b9\u6cd5"},"content":{"rendered":"<div class=\"clear\">Sendip\u662f\u4e00\u4e2alinux\u5e73\u53f0\u7684\u547d\u4ee4\u884c\u53d1\u6570\u636e\u5305\u5de5\u5177\uff0c\u76ee\u524d(2018\u5e742\u6708)\u652f\u6301\u7684\u534f\u8bae\u6709<strong>ipv4\u3001ipv6\u3001icmp\u3001tcp\u3001udp\u3001bgp\u3001rip\u3001ntp<\/strong>\uff0c\u4f5c\u8005\u8868\u793a\u5176\u4ed6\u534f\u8bae\u5c06\u4f1a\u540e\u9762\u652f\u6301\uff0c\u5f53\u4ed6\u6709\u7a7a\u5199\u7684\u65f6\u5019\u3002<strong>Sendip<\/strong>\u5f88\u5f3a\u5927\uff0c\u5b83\u652f\u6301\u81ea\u5b9a\u4e49\u5934\u90e8\u548c\u6570\u636e(\u4e5f\u5c31\u662fIP\u5c42\u4ee5\u4e0a\u7684\u6574\u4e2a\u5305)\uff0c\u6ca1\u6709\u8fc7\u591a\u7684\u9650\u5236\uff0c\u6240\u4ee5\u8fde\u6e90IP\u90fd\u53ef\u4ee5\u968f\u610f\u5199\uff0c\u800c\u4e14\u91cc\u9762\u4e5f\u63d0\u4f9b\u4e86\u4e00\u4e9b\u9ed8\u8ba4\u7684\u9009\u9879\uff0c\u53ef\u4ee5\u62e9\u9700\u800c\u53d1\uff0c\u975e\u5e38\u65b9\u4fbf\u3002\u53c8\u56e0\u4e3a\u5b83\u662f\u547d\u4ee4\u884c\u7684\uff0c\u8fd8\u652f\u6301\u4ece\u6587\u4ef6\u4e2d\u76f4\u63a5\u8bfb\u53d6\u6574\u4e2apacket\u53d1\u9001\uff0c\u6240\u4ee5\u9002\u5408\u7528\u811a\u672c\u6279\u91cf\u6d4b\u8bd5\u3002\u5b83\u53ea\u662f\u4e2a\u53d1\u5305\u5de5\u5177\uff0c\u5bf9\u4e8e\u53d1\u51fa\u53bb\u7684\u5305\uff0c\u6536\u5230\u4e86\u4ec0\u4e48\u6837\u7684\u56de\u590d\uff0cSendip\u662f\u4e0d\u77e5\u9053\u7684\uff0c\u6240\u4ee5\u8981\u5f97\u5230\u56de\u590d\u7684\u5305\u5c31\u53ea\u80fd\u7528\u6293\u5305\u5de5\u5177\u4e86\u3002\u5b83\u7684\u6e90\u7801\u4e5f\u5f88\u7b80\u5355\uff0c\u6ca1\u6709\u8fc7\u591a\u5e73\u53f0\u76f8\u5173\u7684\u4ee3\u7801\uff0c\u5982\u679c\u4e0d\u7406\u89e3\u4e5f\u53ef\u4ee5\u770b\u6e90\u7801\u3002<\/div>\n<div class=\"postBody\">\n<div id=\"cnblogs_post_body\" class=\"blogpost-body cnblogs-markdown\">\n<p>\u5176\u5b9e\u8fd9\u4e2a\u5de5\u5177\u5df2\u7ecf\u6ee1\u8db3\u4e86\u6211\u7684\u8981\u6c42\uff0c\u4e4b\u524d\u4e0b\u8f7d\u7684<code>PackETH<\/code>\u662fGUI\u7248\u7684\uff0c\u8fde\u6570\u636e\u94fe\u8def\u5c42(link layer)\u90fd\u652f\u6301\uff0c\u4e5f\u8981\u6c42\u5fc5\u987b\u63d0\u4f9b\u8fd9\u4e00\u5c42\u7684\u76f8\u5173\u4fe1\u606f\u624d\u80fd\u53d1\u5305\uff0c\u8fd9\u4e00\u5c42\u4e00\u822c\u4e0d\u592a\u5173\u5fc3\uff0c\u5b83\u53c8\u4e0d\u63d0\u4f9b\u81ea\u52a8\u5c01\u88c5\uff0c\u603b\u7684\u6765\u8bf4\u4e0d\u592a\u9002\u5408\u7528\u3002<\/p>\n<h3 id=\"sendip\u7b80\u5355\u4f7f\u7528\">Sendip\u7b80\u5355\u4f7f\u7528<\/h3>\n<p>\u5e38\u89c1\u534f\u8bae\u62a5\u5934\u53ef\u53c2\u8003<a href=\"http:\/\/www.cnblogs.com\/xcw0754\/p\/8449341.html\" target=\"_blank\" rel=\"noopener\">\u5e38\u89c1\u534f\u8baeTCP\u3001UDP\u3001IP\u56fe<\/a><\/p>\n<p>\u901a\u7528\u9009\u9879\uff1a<\/p>\n<pre class=\"highlighter-hljs\"><code class=\"highlighter-hljs hljs language-diff\"><span class=\"hljs-deletion\">-d    \u8981\u643a\u5e26\u7684\u6570\u636e\u3002rN\u968f\u673a\u4ea7\u751fN\u4e2a\u5b57\u8282\uff0c0x\u4e4b\u540e\u5e26\u5341\u516d\u8fdb\u5236\uff0c0\u4e4b\u540e\u5e268\u8fdb\u5236\u3002<\/span>\r\n<span class=\"hljs-deletion\">-f    \u4ece\u6587\u4ef6\u4e2d\u8bfb\u53d6\u8981\u643a\u5e26\u7684\u6570\u636e\u3002<\/span>\r\n<span class=\"hljs-deletion\">-p    \u52a0\u8f7d\u534f\u8bae\u6a21\u5757\uff0c\u53ea\u6709\u52a0\u8f7d\u4e86\u624d\u80fd\u4f7f\u7528\u3002<\/span>\r\n<span class=\"hljs-deletion\">-v    \u6253\u5370\u6574\u4e2a\u53d1\u51fa\u7684\u5305\u3002<\/span><\/code><\/pre>\n<p>ipv4\u6a21\u5757\uff1a<\/p>\n<pre class=\"highlighter-hljs\"><code class=\"highlighter-hljs hljs language-diff\"><span class=\"hljs-deletion\">-iv x      \u7248\u672c               Default: 4<\/span>\r\n<span class=\"hljs-deletion\">-ih x      \u9996\u90e8\u957f\u5ea6       Default: Correct<\/span>\r\n<span class=\"hljs-deletion\">-iy x      \u533a\u5206\u670d\u52a1       Default: 0<\/span>\r\n<span class=\"hljs-deletion\">-il x      \u603b\u957f\u5ea6           Default: Correct<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n<span class=\"hljs-deletion\">-ii x      \u6807\u8bc6               Default: Random<\/span>\r\n<span class=\"hljs-deletion\">-ifr x     \u6807\u5fd7               Default: 0 (options are 0,1,r)<\/span>\r\n<span class=\"hljs-deletion\">-if x      \u7247\u504f\u79fb           Default: 0<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n<span class=\"hljs-deletion\">-it x      \u751f\u5b58\u65f6\u95f4       Default: 255<\/span>\r\n<span class=\"hljs-deletion\">-ip x      \u534f\u8bae             Default: 0, or set by underlying protocol<\/span>\r\n<span class=\"hljs-deletion\">-ic x      \u9996\u90e8\u68c0\u9a8c\u548c   Default: Correct<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n<span class=\"hljs-deletion\">-is x      \u6e90\u5730\u5740          Default: 127.0.0.1<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n<span class=\"hljs-deletion\">-id x      \u76ee\u7684\u5730\u5740      Default: Correct<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n\u4e0b\u9762\u5168\u662f\u53ef\u9009\u5b57\u6bb5(\u6bd4\u8f83\u5c11\u7528\uff0c\u4e0d\u8bd1)\uff1a\r\n\r\n<span class=\"hljs-deletion\">-ifd x IP don't fragment flag (see README)<\/span>\r\n       Default: 0 (options are 0,1,r)\r\n<span class=\"hljs-deletion\">-ifm x IP more fragments flag (see README)<\/span>\r\n       Default: 0 (options are 0,1,r)\r\n<span class=\"hljs-deletion\">-ionum x<\/span>\r\n       IP option as string of hex bytes (length is always correct)\r\n       Default: (no options)\r\n<span class=\"hljs-deletion\">-ioeol IP option: end of list<\/span>\r\n<span class=\"hljs-deletion\">-ionop IP option: no-op<\/span>\r\n<span class=\"hljs-deletion\">-iorr x<\/span>\r\n       IP option: record route. Format: pointer:addr1:addr2:...\r\n<span class=\"hljs-deletion\">-iots x<\/span>\r\n       IP option: timestamp. Format: pointer:overflow:flag:(ip1:)ts1:(ip2:)ts2:...\r\n<span class=\"hljs-deletion\">-iolsr x<\/span>\r\n       IP option: loose source route. Format: pointer:addr1:addr2:...\r\n<span class=\"hljs-deletion\">-iosid x<\/span>\r\n       IP option: stream identifier\r\n<span class=\"hljs-deletion\">-iossr x<\/span>\r\n       IP option: strict source route. Format: pointer:addr1:addr2:...\r\n<\/code><\/pre>\n<p>tcp\u6a21\u5757\uff1a<\/p>\n<pre class=\"highlighter-hljs\"><code class=\"highlighter-hljs hljs language-diff\"><span class=\"hljs-deletion\">-ts x  \u6e90\u7aef\u53e3       Default: 0<\/span>\r\n<span class=\"hljs-deletion\">-td x  \u76ee\u7684\u7aef\u53e3       Default: 0<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n<span class=\"hljs-deletion\">-tn x  \u5e8f\u53f7       Default: Random<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n<span class=\"hljs-deletion\">-ta x  \u786e\u8ba4\u53f7       Default: 0<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n<span class=\"hljs-deletion\">-tt x  \u6570\u636e\u504f\u79fb       Default: Correct<\/span>\r\n<span class=\"hljs-deletion\">-tr x  \u4fdd\u7559(ECN\u3001CWR\u770brfc2481)       Default: 0<\/span>\r\n<span class=\"hljs-deletion\">-tfu x URG       Default: 0, or 1 if -tu specified (options are 0,1,r)<\/span>\r\n<span class=\"hljs-deletion\">-tfa x ACK       Default: 0, or 1 if -ta specified (options are 0,1,r)<\/span>\r\n<span class=\"hljs-deletion\">-tfp x PSH       Default: 0 (options are 0,1,r)<\/span>\r\n<span class=\"hljs-deletion\">-tfr x RST       Default: 0 (options are 0,1,r)<\/span>\r\n<span class=\"hljs-deletion\">-tfs x SYN       Default: 1 (options are 0,1,r)<\/span>\r\n<span class=\"hljs-deletion\">-tff x FIN       Default: 0 (options are 0,1,r)<\/span>\r\n<span class=\"hljs-deletion\">-tw x  \u7a97\u53e3       Default: 65535<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n<span class=\"hljs-deletion\">-tc x  \u68c0\u9a8c\u548c       Default: Correct<\/span>\r\n<span class=\"hljs-deletion\">-tu x  \u7d27\u6025\u6307\u9488       Default: 0<\/span>\r\n<span class=\"hljs-comment\">----------------------------------------------32bit<\/span>\r\n\u4e0b\u9762\u5168\u662f\u53ef\u9009\u5b57\u6bb5(\u6bd4\u8f83\u5c11\u7528\uff0c\u4e0d\u8bd1)\uff1a\r\n<span class=\"hljs-deletion\">-tonum x       TCP option as string of hex bytes (length is always correct)<\/span>\r\n       Default: (no options)\r\n<span class=\"hljs-deletion\">-toeol TCP option: end of list<\/span>\r\n<span class=\"hljs-deletion\">-tonop TCP option: no op<\/span>\r\n<span class=\"hljs-deletion\">-tomss x<\/span>\r\n       TCP option: maximum segment size\r\n<span class=\"hljs-deletion\">-towscale x<\/span>\r\n       TCP option: window scale (rfc1323)\r\n<span class=\"hljs-deletion\">-tosackok<\/span>\r\n       TCP option: allow selective ack (rfc2018)\r\n<span class=\"hljs-deletion\">-tosack x<\/span>\r\n       TCP option: selective ack (rfc2018), format is l_edge1:r_edge1,l_edge2:r_edge2...\r\n<span class=\"hljs-deletion\">-tots x<\/span>\r\n       TCP option: timestamp (rfc1323), format is tsval:tsecr\r\n<\/code><\/pre>\n<p>udp\u6a21\u5757\uff1a<\/p>\n<pre class=\"highlighter-hljs\"><code class=\"highlighter-hljs hljs language-diff\"><span class=\"hljs-deletion\">-us x  \u6e90\u7aef\u53e3    Default: 0<\/span>\r\n<span class=\"hljs-deletion\">-ud x  \u76ee\u7684\u7aef\u53e3    Default: 0<\/span>\r\n<span class=\"hljs-deletion\">-ul x \u957f\u5ea6    Default: Correct<\/span>\r\n<span class=\"hljs-deletion\">-uc x  \u68c0\u9a8c\u548c    Default: Correct<\/span><\/code><\/pre>\n<p>\u8981\u6ce8\u610f\uff0c\u6309\u7167\u4ece\u5de6\u5230\u53f3\u7684\u987a\u5e8f\u4f9d\u6b21\u5c01\u88c5\u62a5\u6587\uff0c\u6240\u4ee5ip\u62a5\u6587\u5fc5\u987b\u5199\u5728\u5176\u4ed6\u62a5\u6587\u4e4b\u524d\u3002\u5982\u679c\u534f\u8bae\u4e2d\u9700\u8981<strong>\u68c0\u9a8c\u548c<\/strong>\u4e4b\u7c7b\u7684\u5c31\u6309\u9ed8\u8ba4\u7684\u5c31\u884c\u4e86\uff0c\u7701\u53bb\u8ba1\u7b97\u7684\u75db\u82e6\u3002\u4e0b\u9762\u6709\u51e0\u4e2a\u4f8b\u5b50\uff1a<\/p>\n<ul>\n<li>sendip -v -p ipv4 -id 14.215.177.39 -p udp -f test www.baidu.com<\/li>\n<li>sendip -p ipv4 -is 192.168.1.2 -id 192.168.1.1 -p icmp -d 0x89ABCDEF www.google.com<\/li>\n<\/ul>\n<p>\u5176\u4e2d\u4e3b\u8981\u7684\u7ed3\u6784\u662f<code>sendip \u7f51\u7edc\u5c42 \u4e0a\u4e00\u5c42 \u6570\u636e domain<\/code>\uff0cdomain\u662f\u76ee\u7684\u4e3b\u673a\uff0c\u53ef\u4ee5\u662f<code>www.baidu.com<\/code>\u6216<code>192.168.1.1<\/code>\u4e4b\u7c7b\u7684\u3002\u5982\u679c\u51fa\u73b0\u4ec0\u4e48\u9519\u8bef\u5c31\u4f1a\u6253\u5370\u51fa\u5e2e\u52a9\u4fe1\u606f\uff0c\u91cc\u9762\u6709\u4e00\u884c\u662f\u63d0\u793a\u9519\u8bef\u539f\u56e0\uff0c\u522b\u6f0f\u770b\u4e86\u3002\u81f3\u4e8e\u80fd\u4e0d\u80fd\u53d1\u4e0d\u89c4\u5219\u7684\u5305(\u5982\u6570\u636e\u4e0e\u62a5\u6587\u957f\u5ea6\u4e0d\u7b26\u5408\u3001\u6821\u9a8c\u548c\u4e71\u5199\u4e4b\u7c7b\u7684)\uff0c\u5b9e\u9645\u4f1a\u4e0d\u4f1a\u53d1\u51fa\u53bb\u5c31\u6ca1\u8fdb\u884c\u6d4b\u8bd5\u4e86\u3002<\/p>\n<p>\u4f7f\u7528\u4e00\u4e2a\u811a\u672c\u5373\u53ef\u5b8c\u6210sendip\u6d4b\u8bd5<\/p>\n<p>&nbsp;<\/p>\n<p>#!\/bin\/bash<\/p>\n<p>send_1(){<br \/>\nwhile true<br \/>\ndo<br \/>\nsendip -v -p ipv4 -is 192.168.163.128 -id 192.168.163.130 -p tcp -f message 192.168.163.130<br \/>\nsleep 0.001<br \/>\ndone<br \/>\n}<br \/>\nsend_2(){<br \/>\nwhile true<br \/>\ndo<br \/>\nsendip -v -p ipv4 -is 192.168.163.128 -id 192.168.163.130 -p udp -f message 192.168.163.130<br \/>\nsleep 0.01<br \/>\ndone<br \/>\n}<br \/>\nsend_3(){<br \/>\nwhile true<br \/>\ndo<br \/>\nsendip -v -p ipv4 -is 192.168.163.128 -id 192.168.163.130 -p icmp -d data01234567 192.168.163.130<br \/>\nsleep 0.1<br \/>\ndone<br \/>\n}<br \/>\nsend_1 &amp; send_2 &amp; send_3<\/p>\n<p>\u5982\u4e0b\u4e00\u4e2a\u53d1\u9001\u5305\u65f6\u5e26\u4e0a\u53d1\u5305\u65f6\u95f4\u7684\u811a\u672c\u4e5f\u63a8\u8350\u4f7f\u7528<\/p>\n<\/div>\n<div>\n<div>#!\/bin\/bash<\/div>\n<div>pack_count=10000 #\u53d1\u5305\u6570\u91cf<\/div>\n<div>send_interval=0.5\u00a0 \u00a0#\u53d1\u5305\u95f4\u9694<\/div>\n<div>target=211.138.240.100\u00a0 #\u76ee\u7684IP<\/div>\n<div>src=211.138.223.120\u00a0 #\u6e90IP<\/div>\n<div>udpport=28004\u00a0 \u00a0#\u76ee\u7684\u7aef\u53e3<\/div>\n<div>src_udpport=444\u00a0 #\u6e90\u7aef\u53e3<\/div>\n<div>i=0<\/div>\n<div>while [ $i -lt ${pack_count} ]<\/div>\n<div>do<\/div>\n<div>\u00a0 \u00a0 ((i++))<\/div>\n<div>\u00a0 \u00a0 time=$(date +%H:%M:%S.%N)<\/div>\n<div>\u00a0 \u00a0 sendip -v -p ipv4 -is $src -id $target \u00a0-p udp -ud $udpport -us $src_udpport -d \"$i,$time|\" $target $1&gt;\/dev\/null 2&gt;&amp;1<\/div>\n<div>\u00a0 \u00a0 sleep $send_interval<\/div>\n<div>done<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Sendip\u662f\u4e00\u4e2alinux\u5e73\u53f0\u7684\u547d\u4ee4\u884c\u53d1\u6570\u636e\u5305\u5de5\u5177\uff0c\u76ee\u524d(2018\u5e742\u6708)\u652f\u6301\u7684\u534f\u8bae\u6709ipv4\u3001ipv6\u3001icmp\u3001tcp\u3001udp\u3001bgp\u3001rip\u3001ntp\uff0c\u4f5c\u8005\u8868\u793a\u5176\u4ed6\u534f\u8bae\u5c06\u4f1a\u540e\u9762\u652f\u6301\uff0c\u5f53\u4ed6\u6709\u7a7a\u5199\u7684\u65f6\u5019\u3002Sendip\u5f88\u5f3a\u5927\uff0c\u5b83\u652f\u6301\u81ea\u5b9a\u4e49\u5934 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"topic":[37],"class_list":["post-310","post","type-post","status-publish","format-standard","hentry","category-linux","topic-linux"],"_links":{"self":[{"href":"https:\/\/idc.birk.cn\/index.php?rest_route=\/wp\/v2\/posts\/310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/idc.birk.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/idc.birk.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/idc.birk.cn\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/idc.birk.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=310"}],"version-history":[{"count":5,"href":"https:\/\/idc.birk.cn\/index.php?rest_route=\/wp\/v2\/posts\/310\/revisions"}],"predecessor-version":[{"id":317,"href":"https:\/\/idc.birk.cn\/index.php?rest_route=\/wp\/v2\/posts\/310\/revisions\/317"}],"wp:attachment":[{"href":"https:\/\/idc.birk.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idc.birk.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idc.birk.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=310"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/idc.birk.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftopic&post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}