{"id":50,"date":"2011-03-25T16:39:29","date_gmt":"2011-03-25T08:39:29","guid":{"rendered":"http:\/\/blog.vscz.net\/?p=50"},"modified":"2014-07-28T00:17:16","modified_gmt":"2014-07-27T16:17:16","slug":"netstatawk-%e6%9f%a5%e7%9c%8btcp%e7%9a%84%e7%bd%91%e7%bb%9c%e8%bf%9e%e6%8e%a5%e7%8a%b6%e6%80%81","status":"publish","type":"post","link":"https:\/\/bylang.cn\/?p=50","title":{"rendered":"netstat+awk \u67e5\u770btcp\u7684\u7f51\u7edc\u8fde\u63a5\u72b6\u6001"},"content":{"rendered":"<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a<br \/>\n#netstat -n | awk \u2018\/^tcp\/ {++state[$NF]} END {for(key in state) print key.&#8221;\\t&#8221;.state[key]}\u2019<br \/>\n\u4f1a\u5f97\u5230\u7c7b\u4f3c\u4e0b\u9762\u7684\u7ed3\u679c\uff0c\u5177\u4f53\u6570\u5b57\u4f1a\u6709\u6240\u4e0d\u540c\uff1a<br \/>\nFIN_WAIT_1 286<br \/>\nFIN_WAIT_2 960<br \/>\nSYN_SENT 3<br \/>\nLAST_ACK 32<br \/>\nCLOSING 1<br \/>\nCLOSED 36<br \/>\nSYN_RCVD 144<br \/>\nTIME_WAIT 2520<br \/>\nESTABLISHED 352<br \/>\n\u8fd9\u6761\u547d\u4ee4\u53ef\u4ee5\u628a\u5f53\u524d\u7cfb\u7edf\u7684\u7f51\u7edc\u8fde\u63a5\u72b6\u6001\u5206\u7c7b\u6c47\u603b\u3002<br \/>\n\u8fd9\u6761\u8bed\u53e5\u662f\u5728\u5f20\u5bb4\u90a3\u8fb9\u770b\u5230\uff0c\u636e\u8bf4\u662f\u4ece\u65b0\u6d6a\u4e92\u52a8\u793e\u533a\u4e8b\u4e1a\u90e8\u6280\u672f\u603b\u76d1\u738b\u8001\u5927\u90a3\u513f\u83b7\u5f97\u7684\uff0c\u975e\u5e38\u4e0d\u9519\u3002<br \/>\n\u8fd4\u56de\u53c2\u6570\u7684\u8bf4\u660e\u5982\u4e0b\uff1a<br \/>\nSYN_RECV\u8868\u793a\u6b63\u5728\u7b49\u5f85\u5904\u7406\u7684\u8bf7\u6c42\u6570\uff1b<br \/>\nESTABLISHED\u8868\u793a\u6b63\u5e38\u6570\u636e\u4f20\u8f93\u72b6\u6001\uff1b<br \/>\nTIME_WAIT\u8868\u793a\u5904\u7406\u5b8c\u6bd5\uff0c\u7b49\u5f85\u8d85\u65f6\u7ed3\u675f\u7684\u8bf7\u6c42\u6570\u3002<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n\u518d\u6765\u770b\u770bawk\uff1a<br \/>\n\/^tcp\/<br \/>\n\u6ee4\u51fatcp\u5f00\u5934\u7684\u8bb0\u5f55\uff0c\u5c4f\u853dudp, socket\u7b49\u65e0\u5173\u8bb0\u5f55\u3002<br \/>\nstate[]<br \/>\n\u76f8\u5f53\u4e8e\u5b9a\u4e49\u4e86\u4e00\u4e2a\u540d\u53ebstate\u7684\u6570\u7ec4<br \/>\nNF<br \/>\n\u8868\u793a\u8bb0\u5f55\u7684\u5b57\u6bb5\u6570\uff0c\u5982\u4e0a\u6240\u793a\u7684\u8bb0\u5f55\uff0cNF\u7b49\u4e8e6<br \/>\n$NF<br \/>\n\u8868\u793a\u67d0\u4e2a\u5b57\u6bb5\u7684\u503c\uff0c\u5982\u4e0a\u6240\u793a\u7684\u8bb0\u5f55\uff0c$NF\u4e5f\u5c31\u662f$6\uff0c\u8868\u793a\u7b2c6\u4e2a\u5b57\u6bb5\u7684\u503c\uff0c\u4e5f\u5c31\u662fTIME_WAIT<br \/>\nstate[$NF]<br \/>\n\u8868\u793a\u6570\u7ec4\u5143\u7d20\u7684\u503c\uff0c\u5982\u4e0a\u6240\u793a\u7684\u8bb0\u5f55\uff0c\u5c31\u662fstate[TIME_WAIT]\u72b6\u6001\u7684\u8fde\u63a5\u6570<br \/>\n++state[$NF]<br \/>\n\u8868\u793a\u628a\u67d0\u4e2a\u6570\u52a0\u4e00\uff0c\u5982\u4e0a\u6240\u793a\u7684\u8bb0\u5f55\uff0c\u5c31\u662f\u628astate[TIME_WAIT]\u72b6\u6001\u7684\u8fde\u63a5\u6570\u52a0\u4e00<br \/>\nEND<br \/>\n\u8868\u793a\u5728\u6700\u540e\u9636\u6bb5\u8981\u6267\u884c\u7684\u547d\u4ee4<br \/>\nfor(key in state)<br \/>\n\u904d\u5386\u6570\u7ec4<br \/>\nprint key,&#8221;\\t&#8221;,state[key]<br \/>\n\u6253\u5370\u6570\u7ec4\u7684\u952e\u548c\u503c\uff0c\u4e2d\u95f4\u7528\\t\u5236\u8868\u7b26\u5206\u5272\uff0c\u7f8e\u5316\u4e00\u4e0b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a #netstat -n | awk \u2018\/^tcp\/ {++state[$NF]} END {for(key in state) print key.&#8221;\\t&#8221;.state[key]}\u2019 \u4f1a\u5f97\u5230\u7c7b\u4f3c\u4e0b\u9762\u7684\u7ed3\u679c\uff0c\u5177\u4f53\u6570\u5b57\u4f1a\u6709\u6240\u4e0d\u540c\uff1a FIN_WAIT_1 286 FIN_WAIT_2 960 SYN_SENT 3 LAST_ACK 32 CLOSING 1 CLOSED 36 SYN_RCVD 144 TIME_WAIT 2520 ESTABLISHED 352 \u8fd9\u6761\u547d\u4ee4\u53ef\u4ee5\u628a\u5f53\u524d\u7cfb\u7edf\u7684\u7f51\u7edc\u8fde\u63a5\u72b6\u6001\u5206\u7c7b\u6c47\u603b\u3002 \u8fd9\u6761\u8bed\u53e5\u662f\u5728\u5f20\u5bb4\u90a3\u8fb9\u770b\u5230\uff0c\u636e\u8bf4\u662f\u4ece\u65b0\u6d6a\u4e92\u52a8\u793e\u533a\u4e8b\u4e1a\u90e8\u6280\u672f\u603b\u76d1\u738b\u8001\u5927\u90a3\u513f\u83b7\u5f97\u7684\uff0c\u975e\u5e38\u4e0d\u9519\u3002 \u8fd4\u56de\u53c2\u6570\u7684\u8bf4\u660e\u5982\u4e0b\uff1a SYN_RECV\u8868\u793a\u6b63\u5728\u7b49\u5f85\u5904\u7406\u7684\u8bf7\u6c42\u6570\uff1b ESTABLISHED\u8868\u793a\u6b63\u5e38\u6570\u636e\u4f20\u8f93\u72b6\u6001\uff1b TIME_WAIT\u8868\u793a\u5904\u7406\u5b8c\u6bd5\uff0c\u7b49\u5f85\u8d85\u65f6\u7ed3\u675f\u7684\u8bf7\u6c42\u6570\u3002 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \u518d\u6765\u770b\u770bawk\uff1a \/^tcp\/ \u6ee4\u51fatcp\u5f00\u5934\u7684\u8bb0\u5f55\uff0c\u5c4f\u853dudp, socket\u7b49\u65e0\u5173\u8bb0\u5f55\u3002 state[] \u76f8\u5f53\u4e8e\u5b9a\u4e49\u4e86\u4e00\u4e2a\u540d\u53ebstate\u7684\u6570\u7ec4 NF \u8868\u793a\u8bb0\u5f55\u7684\u5b57\u6bb5\u6570\uff0c\u5982\u4e0a\u6240\u793a\u7684\u8bb0\u5f55\uff0cNF\u7b49\u4e8e6 $NF \u8868\u793a\u67d0\u4e2a\u5b57\u6bb5\u7684\u503c\uff0c\u5982\u4e0a\u6240\u793a\u7684\u8bb0\u5f55\uff0c$NF\u4e5f\u5c31\u662f$6\uff0c\u8868\u793a\u7b2c6\u4e2a\u5b57\u6bb5\u7684\u503c\uff0c\u4e5f\u5c31\u662fTIME_WAIT state[$NF] \u8868\u793a\u6570\u7ec4\u5143\u7d20\u7684\u503c\uff0c\u5982\u4e0a\u6240\u793a\u7684\u8bb0\u5f55\uff0c\u5c31\u662fstate[TIME_WAIT]\u72b6\u6001\u7684\u8fde\u63a5\u6570 ++state[$NF] \u8868\u793a\u628a\u67d0\u4e2a\u6570\u52a0\u4e00\uff0c\u5982\u4e0a\u6240\u793a\u7684\u8bb0\u5f55\uff0c\u5c31\u662f\u628astate[TIME_WAIT]\u72b6\u6001\u7684\u8fde\u63a5\u6570\u52a0\u4e00 END \u8868\u793a\u5728\u6700\u540e\u9636\u6bb5\u8981\u6267\u884c\u7684\u547d\u4ee4 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-50","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/bylang.cn\/index.php?rest_route=\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bylang.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bylang.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bylang.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bylang.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=50"}],"version-history":[{"count":1,"href":"https:\/\/bylang.cn\/index.php?rest_route=\/wp\/v2\/posts\/50\/revisions"}],"predecessor-version":[{"id":51,"href":"https:\/\/bylang.cn\/index.php?rest_route=\/wp\/v2\/posts\/50\/revisions\/51"}],"wp:attachment":[{"href":"https:\/\/bylang.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bylang.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bylang.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}