{"id":558,"date":"2022-04-13T13:37:20","date_gmt":"2022-04-13T05:37:20","guid":{"rendered":"https:\/\/www.hgostand.com\/?p=558"},"modified":"2022-04-27T09:13:53","modified_gmt":"2022-04-27T01:13:53","slug":"%e7%94%a8rust%e5%88%b6%e4%bd%9cdns%e5%ae%a2%e6%88%b7%e7%ab%af%e4%b8%ad%e5%ad%a6%e5%88%b0%e7%9a%84%e7%9f%a5%e8%af%86","status":"publish","type":"post","link":"https:\/\/wite.oxoooo.com\/?p=558","title":{"rendered":"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u5728\u8fc7\u53bb\u51e0\u5468\u91cc\uff0c\u6211\u5efa\u7acb\u4e86\u81ea\u5df1\u7684DNS\u5ba2\u6237\u7aef\uff0c\u4e3b\u8981\u662f\u56e0\u4e3a\u6211\u8ba4\u4e3adig\uff08\u6807\u51c6\u7684DNS\u5ba2\u6237\u7aef\uff09\u6709\u70b9\u7b28\u62d9\u3002\u90e8\u5206\u539f\u56e0\u662f\u6211\u60f3\u5b66\u4e60\u66f4\u591a\u5173\u4e8eDNS\u7684\u77e5\u8bc6\u3002\u56e0\u6b64\uff0c\u8fd9\u91cc\u662f\u6211\u5982\u4f55\u5efa\u7acb\u5b83\uff0c\u4ee5\u53ca\u4f60\u5982\u4f55\u5efa\u7acb\u4f60\u81ea\u5df1\u7684\u3002\u8fd9\u662f\u4e00\u4e2a\u4f1f\u5927\u7684\u5468\u672b\u9879\u76ee\uff0c\u6211\u4ece\u5b8c\u6210\u5b83\u4e2d\u5b66\u5230\u4e86\u5f88\u591a\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e3a\u4ec0\u4e48\u8981\u8fd9\u4e48\u505a\uff1f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Julia Evans\u7ed9\u4e86\u6211\u505a\u4e00\u4e2aDNS\u5ba2\u6237\u7aef\u7684\u60f3\u6cd5\u3002\u5979\u662f\u6211\u6700\u559c\u6b22\u7684\u6280\u672f\u535a\u4e3b\u4e4b\u4e00\u3002\u5979\u7684\u535a\u5ba2\u603b\u662f\u80fd\u6559\u7ed9\u6211\u4e00\u4e9b\u4e1c\u897f\uff0c\u5e76\u7ecf\u5e38\u6fc0\u52b1\u6211\u53bb\u5b66\u4e60\u65b0\u7684\u4e1c\u897f\u3002\u5979\u8fd8\u975e\u5e38\u5584\u4e8e\u628a\u590d\u6742\u7684\u8bdd\u9898\u603b\u7ed3\u6210\u975e\u5e38\u7b80\u5355\u7684\u5c0f\u6f2b\u753b\uff0c\u6bd4\u5982\u8fd9\u5e45\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f53\u6211\u8bfb\u5230\u8fd9\u5e45\u6f2b\u753b\u65f6\uff0c\u6211\u611f\u5230\u5f88\u9707\u60ca\u2014DNS\u67e5\u8be2\u534f\u8bae\u6bd4\u6211\u60f3\u8c61\u7684\u8981\u7b80\u5355\u5f97\u591a\u3002\u53e6\u5916\uff0c\u6211\u5728\u4e00\u5bb6\u516c\u53f8\u5de5\u4f5c\uff0c\u8be5\u516c\u53f8\u662f\uff0c\u5443\uff0c\u5728DNS\u4e16\u754c\u4e2d\u7684\u4e00\u4e2a\u5927\u73a9\u5bb6\u3002\u6211\u4e5f\u8bb8\u5e94\u8be5\u66f4\u4e86\u89e3\u5b83\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"816\" height=\"528\" src=\"https:\/\/www.hgostand.com\/wp-content\/uploads\/2022\/04\/image-32.png\" alt=\"\" class=\"wp-image-559\" srcset=\"https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-32.png 816w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-32-300x194.png 300w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-32-768x497.png 768w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-32-535x346.png 535w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-32-500x324.png 500w\" sizes=\"(max-width: 816px) 100vw, 816px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u8ba1\u5212\u5217\u8868<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u60f3\u505a\u4e00\u4e2aDNS\u5ba2\u6237\u7aef\u7684\u53e6\u4e00\u4e2a\u539f\u56e0\u662f\uff0c\u6211\u77e5\u9053\u6211\u53ef\u4ee5\u7528\u4e00\u4e9b\u4f1f\u5927\u7684Rust\u677f\u5757\u6765\u7b80\u5316\u6bcf\u4e00\u4e2a\u6b65\u9aa4\u3002\u8be5\u8ba1\u5212\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u4f7f\u7528picoargs\u89e3\u6790CLI\u7684args\u3002<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b83\u6ca1\u6709clap\u90a3\u4e48\u5f3a\u5927\uff0c\u540e\u8005\u662f\u6807\u51c6\u7684Rust &#8220;\u4f01\u4e1a\u7ea7 &#8220;CLI crate\uff0c\u800c\u4e14\u9700\u8981\u66f4\u591a\u7684\u6a21\u677f\u3002\u4f46\u6211\u5e76\u4e0d\u771f\u7684\u9700\u8981\u9ad8\u7ea7\u7684CLI\u529f\u80fd\uff0c\u800c\u4e14picoargs\u7684\u7f16\u8bd1\u901f\u5ea6\u8981\u5feb\u5f88\u591a\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u4f7f\u7528bitvec\u5e8f\u5217\u5316DNS\u67e5\u8be2\uff0c\u8fd9\u662f\u4e00\u4e2a\u7528\u4e8e\u8bfb\u53d6\u6216\u5199\u5165\u5355\u4e2a\u6bd4\u7279\u7684\u5f88\u68d2\u7684\u901a\u7528\u5de5\u5177\u7bb1\u3002<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u5728\u505aAdvent of Code\u7684\u65f6\u5019\u5b66\u4f1a\u4e86\u5982\u4f55\u7528Nom\u89e3\u6790\u4f4d\u6570\u534f\u8bae\u3002\u6211\u8003\u8651\u8fc7\u7528deku\u6765\u4ee3\u66ff\uff0c\u4f46\u51b3\u5b9a\u4e0d\u8fd9\u6837\u505a\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u7528stdlib UdpSocket\u7c7b\u578b\u4e0eDNS\u89e3\u6790\u5668\u901a\u4fe1<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u4e0d\u77e5\u9053\u5b83\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff0c\u4f46Rust\u7684stdlib\u771f\u7684\u6709\u5f88\u597d\u7684\u6587\u6863\uff0c\u6240\u4ee5\u6211\u786e\u4fe1\u6211\u53ef\u4ee5\u628a\u5b83\u6361\u8d77\u6765\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u7528Nom\u89e3\u6790\u4e8c\u8fdb\u5236\u54cd\u5e94<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u5728\u505aAdvent of Code\u7684\u65f6\u5019\u5b66\u4f1a\u4e86\u5982\u4f55\u7528Nom\u89e3\u6790\u4f4d\u6570\u534f\u8bae\uff0c\u4f7f\u7528\u4f4d\u7ea7Nom\u6765\u89e3\u6790\u4e00\u6bd4\u7279\u6807\u5fd7\u548c\u56db\u6bd4\u7279\u6570\u5b57\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>\u4f7f\u7528\u666e\u901a\u7684println\uff01\u6765\u5411\u7528\u6237\u6253\u5370\u54cd\u5e94\u4fe1\u606f<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u6211\u662f\u600e\u4e48\u505a\u7684\uff1f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b83\u82b1\u4e86\u5927\u7ea6800\u884c\u4ee3\u7801\uff0c\u6211\u5728\u4e00\u4e2a\u5468\u672b\u5c31\u57fa\u672c\u5b8c\u6210\u4e86\u3002\u53ea\u6709\u89c4\u8303\u4e2d\u7684\u4e00\u4e2a\u90e8\u5206\u6211\u6ca1\u6709\u5b9e\u73b0\uff1a\u6d88\u606f\u538b\u7f29\uff08MC\uff09\u3002\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u53c8\u82b1\u4e86\u4e00\u4e2a\u5468\u672b\u624d\u5b8c\u6210\u2014\u66f4\u591a\u7ec6\u8282\u89c1\u4e0b\u6587\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u628a\u5b83\u547d\u540d\u4e3aDingo\uff0c\u56e0\u4e3a\u5b83\u542c\u8d77\u6765\u50cfDig\uff0c\u800c\u4e14\u5b83\u8ba9\u6211\u60f3\u8d77\u4e86\u6fb3\u5927\u5229\u4e9a\uff0c\u6211\u7684\u5bb6\u3002\u65e0\u8bba\u5982\u4f55\uff0c\u5b83\u662f\u6709\u6548\u7684<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"461\" src=\"https:\/\/www.hgostand.com\/wp-content\/uploads\/2022\/04\/image-33-1024x461.png\" alt=\"\" class=\"wp-image-560\" srcset=\"https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-33-1024x461.png 1024w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-33-300x135.png 300w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-33-768x346.png 768w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-33-535x241.png 535w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-33-900x406.png 900w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-33-500x225.png 500w, https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/image-33.png 1194w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f60\u53ef\u4ee5\u5b89\u88c5\u5b83\u6216\u5728GitHub\uff08<a href=\"https:\/\/github.com\/adamchalmers\/dingo\uff09\u4e0a\u9605\u8bfb\u6210\u54c1\u4ee3\u7801\u3002\">https:\/\/github.com\/adamchalmers\/dingo\uff09\u4e0a\u9605\u8bfb\u6210\u54c1\u4ee3\u7801\u3002<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6211\u5b66\u5230\u4e86\u4ec0\u4e48\uff1f<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u9605\u8bfbRFCs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u8ba4\u4e3a\u5f88\u591a\u7a0b\u5e8f\u5458\u90fd\u88abRFCs\u5413\u5230\u4e86\u3002\u81f3\u5c11\uff0c\u6211\u613f\u610f\u8fd9\u4e48\u60f3\uff0c\u56e0\u4e3a\u6211\u786e\u5b9e\u662f\u8fd9\u6837\u3002\u4e5f\u8bb8\u6211\u6240\u6709\u7684\u540c\u884c\u90fd\u662f\u6697\u5730\u91cc\u559c\u6b22RFC\u7684\u5c0f\u7cbe\u7075\uff0c\u4ed6\u4eec\u4ece\u9605\u8bfb\u7eaf\u6587\u672cASCII\u56fe\u4e2d\u83b7\u5f97\u4e86\u4ee4\u4eba\u5fc3\u8df3\u52a0\u901f\u7684\u611f\u89c9&#8230;&#8230;\u4f46\u4ed6\u4eec\u4ece\u672a\u63d0\u53ca\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>RFC 1035\u5b9a\u4e49\u4e86DNS\u6d88\u606f\u534f\u8bae\uff0c\u6240\u4ee5\u6211\u4e0d\u5f97\u4e0d\u4ed4\u7ec6\u9605\u8bfb\u3002\u8fd9\u662f\u6211\u7b2c\u4e00\u6b21\u771f\u6b63\u4ece\u4e0a\u5230\u4e0b\u5730\u9605\u8bfbRFC\uff0c\u6211\u5bf9\u5b83\u7684\u53ef\u8bfb\u6027\u611f\u5230\u60ca\u8bb6\u3002\u6211\u4e0d\u65ad\u5730\u53c2\u8003\u5b83\uff0c\u5e76\u628aRFC\u4e2d\u7684\u5173\u952e\u5b9a\u4e49\u548c\u5f15\u8bed\u7c98\u8d34\u5230\u6e90\u4ee3\u7801\u7684\u6ce8\u91ca\u4e2d\uff0c\u4ee5\u5e2e\u52a9\u7406\u89e3\u6240\u6709\u7684\u90e8\u5206\u662f\u5982\u4f55\u7ed3\u5408\u5728\u4e00\u8d77\u7684\u3002\u4e5f\u8bb8RFC 1035\u662f\u4e0d\u5bfb\u5e38\u7684\u597d\uff0c\u5176\u4f59\u7684\u5b9e\u9645\u4e0a\u90fd\u662f\u53ef\u6015\u7684\u548c\u4e0d\u53ef\u7406\u89e3\u7684\u3002\u4f46\u6211\u559c\u6b22\u5b83\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>\u628a\u5b83\u4f5c\u4e3a\u5386\u53f2\u6587\u4ef6\u3001\u4e3b\u8981\u8d44\u6599\u6765\u8bfb\u7279\u522b\u6709\u610f\u601d\u2014\u81ea20\u4e16\u7eaa80\u5e74\u4ee3\u4ee5\u6765\u53d1\u751f\u4e86\u5f88\u591a\u53d8\u5316\uff0c\u5728\u73b0\u4ee3\u4e92\u8054\u7f51\u771f\u6b63\u5b58\u5728\u4e4b\u524d\uff0c\u4e86\u89e3\u5f53\u65f6\u7684\u7a0b\u5e8f\u5458\u5728\u60f3\u4ec0\u4e48\u662f\u5f88\u5438\u5f15\u4eba\u7684)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5957\u63a5\u5b57<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u5bf9\u5957\u63a5\u5b57\u4e00\u76f4\u4e0d\u662f\u5f88\u9002\u5e94\u3002\u6211\u5728\u5927\u5b66\u65f6\u66fe\u8bd5\u7740\u8bfb\u8fc7Beej\u7684\u300a\u5957\u63a5\u5b57\u7f16\u7a0b\u6307\u5357\u300b\uff0c\u4f46\u6211\u5e76\u4e0d\u5177\u5907\u5fc5\u8981\u7684\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u6216C\u8bed\u8a00\u6280\u80fd\u6765\u5b8c\u6210\u5b83\u3002\u6211\u77e5\u9053TCP\u548cUDP\uff0c\u4f46\u6211\u5bf9\u7edf\u4e00\u5b83\u4eec\u7684\u5e95\u5c42\u62bd\u8c61\u4e00\u65e0\u6240\u77e5\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>\u8fd9\u4e2a\u9879\u76ee\u662f\u6211\u7b2c\u4e00\u6b21\u9700\u8981\u6253\u5f00\u4e00\u4e2aUDP\u5957\u63a5\u5b57&#8211;\u5728\u6211\u5e73\u65f6\u7684\u7f16\u7a0b\u4e2d\uff0c\u6211\u53ea\u662f\u4f9d\u9760\u4e00\u4e9b\u7f51\u7edc\u5e93\u6765\u5904\u7406\u8fd9\u4e2a\u4f4e\u5c42\u6b21\u7684\u7ec6\u8282\u3002\u56e0\u6b64\uff0c\u6211\u9605\u8bfb\u4e86Rust\u5173\u4e8eUDP\u5957\u63a5\u5b57\u7684\u6587\u6863\uff0c\u5176\u4e2d\u7684\u5185\u5bb9\u975e\u5e38\u6e05\u6670\u3002UdpSocket\u4e0a\u7684\u5f88\u591a\u65b9\u6cd5\u90fd\u76f4\u63a5\u5bf9\u5e94\u4e8eLinux\u7684\u7cfb\u7edf\u8c03\u7528\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f53\u6211\u540e\u6765\u56de\u53bb\u597d\u597d\u9605\u8bfbBeej\u7684\u5957\u63a5\u5b57\u6307\u5357\u65f6\uff0c\u771f\u7684\u5f88\u5bb9\u6613\u3002\u6240\u6709\u8fd9\u4e9b\u7cfb\u7edf\u8c03\u7528\u90fd\u5f88\u719f\u6089&#8211;\u5b83\u4eec\u53ea\u662fRust stdlib\u7684\u7f51\u7edc\u65b9\u6cd5\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>\u4e8b\u5b9e\u4e0a\uff0c\u5982\u679c\u6211\u4f7f\u7528dtruss\uff08\u4e00\u4e2aMacOS\u5de5\u5177\uff0c\u7528\u4e8e\u68c0\u67e5\u4f60\u7684\u7a0b\u5e8f\u4f7f\u7528\u54ea\u4e9b\u7cfb\u7edf\u8c03\u7528\uff09\uff0c\u6211\u53ef\u4ee5\u51c6\u786e\u5730\u770b\u5230\u6211\u7684\u7a0b\u5e8f\u6b63\u5728\u4f7f\u7528\u54ea\u4e9b\u7cfb\u7edf\u8c03\u7528\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ sudo dtruss dingo -t A www.twitter.com# Skipping lots of syscalls just for starting a process on MacOS...getentropy(0x7FF7BE8734E0, 0x20, 0x0)  = 0 0 # Used by `rand` to generate a random DNS request IDsocket(0x2, 0x2, 0x0)  = 3 0 # Create the UDP socket, aka \"file descriptor 3\"ioctl(0x3, 0x20006601, 0x0)  = 0 0 # Not sure, something about the UDP socketsetsockopt(0x3, 0xFFFF, 0x1022)  = 0 0 # Set the options on the UDP socketbind(0x3, 0x7FF7BE87346C, 0x10)  = 0 0 # Bind the UDP socket to a local addresssetsockopt(0x3, 0xFFFF, 0x1006)  = 0 0 # Set more options, dunno why it needs more...connect(0x3, 0x7FF7BE873584, 0x10)  = 0 0 # Connect to the remote DNS resolversendto(0x3, 0x7FAE060041F0, 0x21)  = 33 0 # Send the request to the remote DNS resolverrecvfrom(0x3, 0x7FAE060043F0, 0x200)  = 79 0 # Get the response from the remote DNS resolverclose_nocancel(0x3)  = 0 0 # Close the UDP socket\n# Skipping lots of syscalls just for ending a process on MacOS<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7cfb\u7edf\u8c03\u7528connect\u3001sendto\u548crecvfrom\u90fd\u6765\u81ea\u4e8e\u8c03\u7528Rust\u65b9\u6cd5UdpSocket::{connect, send_to, recv_from}\u2014\u5b83\u4eec\u4ee51:1\u7684\u65b9\u5f0f\u8f6c\u6362\u4e3a\u7cfb\u7edf\u8c03\u7528! \u8fd9\u771f\u662f\u592a\u9177\u4e86\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u771f\u7684\u5f88\u559c\u6b22Bitvec\u3002\u5b83\u7ed3\u5408\u4e86Vec&lt;bool>\u7684\u53ef\u7528\u6027\u548c\u53ef\u8bfb\u6027\uff0c\u4ee5\u53ca\u4f7f\u7528\u4f4d\u7684\u6280\u5de7\u7684\u901f\u5ea6\u3002\u5b83\u662fRust &#8220;\u5de5\u6548\u3001\u901f\u5ea6\u548c\u6b63\u786e\u6027 &#8220;\u7406\u60f3\u7684\u5b8c\u7f8e\u8303\u4f8b\u3002<br>\u8be5\u5e93\u63d0\u4f9b\u4e86BitArray\u3001BitVec\u548cBitSlice\u7684\u7c7b\u578b\u3002\u5b83\u4eec\u7684\u5de5\u4f5c\u539f\u7406\u57fa\u672c\u76f8\u540c\uff0c\u4f46\u6211\u53d1\u73b0\u6709\u4e24\u4e2a\u5c0f\u95ee\u9898\u4ee4\u4eba\u56f0\u60d1\uff0c\u5b83\u4eec\u7684\u5de5\u4f5c\u539f\u7406\u4e0d\u540c\u3002\u4e0d\u8fc7\u8fd9\u4e9b\u95ee\u9898\u5f88\u5bb9\u6613\u88ab\u5355\u5143\u6d4b\u8bd5\u53d1\u73b0\uff0c\u6240\u4ee5\u6211\u60f3\u8fd9\u53ea\u662f\u4e00\u79cd\u5b66\u4e60\u7ecf\u9a8c\u3002\u4f5c\u8005\u5e0c\u671b\u5728Rust\u63a8\u51fa\u66f4\u591a\u7684\u5e38\u91cf\u6cdb\u578b\u529f\u80fd\u540e\uff0c\u4ed6\u4eec\u53ef\u4ee5\u53d1\u5e03Bitvec 2.0\uff0c\u8ba9\u8fd9\u4e9b\u7c7b\u578b\u7684\u5de5\u4f5c\u65b9\u5f0f\u4fdd\u6301\u4e00\u81f4\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5947\u602a\u8f93\u51fa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u65e9\u4e9b\u65f6\u5019\u63d0\u5230\uff0c\u6211\u8ba8\u538c\u4f7f\u7528Dig\u3002\u5b83\u6709\u8fd9\u4e48\u591a\u6df7\u4e71\u7684\u5b57\u6bb5\u548c\u5947\u602a\u7684\u65e0\u5173\u4fe1\u606f\u3002\u6211\u53ea\u60f3\u770b\u770b\u67d0\u4e2a\u4e3b\u673a\u540d\u7684\u89e3\u6790\u7ed3\u679c\uff0c\u800cDig\u5f3a\u8feb\u6211\u9605\u8bfb\u6240\u6709\u8fd9\u4e9b\u6211\u4e0d\u5173\u5fc3\u7684\u989d\u5916\u4fe1\u606f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ dig adamchalmers.com\n\n; &lt;&lt;&gt;&gt; DiG 9.10.6 &lt;&lt;&gt;&gt; adamchalmers.com\n;; global options: +cmd\n;; Got answer:\n;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 51459\n;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 4096\n;; QUESTION SECTION:\n;adamchalmers.com.        IN    A\n\n;; ANSWER SECTION:\nadamchalmers.com.    300    IN    A    104.19.237.120\nadamchalmers.com.    300    IN    A    104.19.238.120\n\n;; Query time: 80 msec\n;; SERVER: 2600:1700:280:1f40::1#53(2600:1700:280:1f40::1)\n;; WHEN: Sun Apr 10 17:48:43 CDT 2022\n;; MSG SIZE  rcvd: $ dig +short adamchalmers.com\n104.19.238.120\n104.19.237.12077<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br>\u4f46\u5728\u5b9e\u73b0\u4e86\u4e00\u4e2aDNS\u5ba2\u6237\u7aef\u540e\uff0c\u6211\u771f\u7684\u77e5\u9053\u8fd9\u4e9b\u90fd\u662f\u4ec0\u4e48\u610f\u601d\u4e86! \u6bd4\u5982\uff0c&#8221;IN &#8220;\u5e76\u4e0d\u662f\u6307\u82f1\u8bed\u4e2d\u7684 &#8220;in&#8221;\uff0c\u5b83\u662f &#8220;internet &#8220;\u7684\u7f29\u5199\uff0c\u56e0\u4e3aDNS\u5728\u6280\u672f\u4e0a\u652f\u6301\u8bb8\u591a\u53ef\u80fd\u7684\u547d\u540d\u7a7a\u95f4\uff08\u53ea\u662f\u6211\u4eec\u57fa\u672c\u4e0a\u53ea\u5728\u4e92\u8054\u7f51DNS\u4e0a\u4f7f\u7528dig\uff09\u3002<br>\u73b0\u5728\u8bfbdig\u7684\u8f93\u51fa\u7ed3\u679c\u6709\u70b9\u9177\uff0c\u56e0\u4e3a\u5b83\u63d0\u9192\u4e86\u6211\u5b66\u5230\u4e86\u591a\u5c11\u4e1c\u897f\u3002\u54e6\uff0c\u5bf9\u4e86\uff0c\u6211\u8fd8\u4e86\u89e3\u5230\uff0c\u8981\u8ba9dig\u63d0\u4f9b\u4f60\u60f3\u8981\u7684\u4fe1\u606f\u662f\u5f88\u5bb9\u6613\u7684\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ dig +short adamchalmers.com\n104.19.238.120\n104.19.237.120<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u2026\u5982\u679c\u6211\u5728\u4e00\u6708\u4efd\u5c31\u77e5\u9053\u8fd9\u4e00\u70b9\uff0c\u6211\u53ef\u80fd\u6c38\u8fdc\u4e0d\u4f1a\u5f00\u59cb\u8fd9\u4e2a\u9879\u76ee \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6211\u8fd8\u662f\u559c\u6b22\u679a\u4e3e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u679a\u4e3e\u662f\u4e00\u79cd\u8868\u8fbe\u9886\u57df\u903b\u8f91\u7684\u597d\u65b9\u6cd5\u3002\u529f\u80fd\u6027\u7a0b\u5e8f\u5458\u8ba8\u8bba\u8054\u5408\u7c7b\u578b\u5df2\u7ecf\u6709\u51e0\u5341\u5e74\u4e86\uff0c\u6211\u5f88\u9ad8\u5174\u5b83\u4eec\u7ec8\u4e8e\u5728\u5176\u4ed6\u8bed\u8a00\u4e2d\u51fa\u73b0\u4e86\u3002\u5728Rust\/Swift\/Haskell\u4e2d\u4f7f\u7528\u679a\u4e3e\u540e\uff0c\u5f88\u96be\u518d\u5728Go\u4e2d\u5efa\u7acb\u9886\u57df\u903b\u8f91\u6a21\u578b\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6d88\u606f\u538b\u7f29 (MC)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MC\u662f\u4e00\u4e2a\u6574\u6d01\u7684\u529f\u80fd\uff0cDNS\u670d\u52a1\u5668\u53ef\u4ee5\u7528\u5b83\u6765\u51cf\u5c11\u5176\u54cd\u5e94\u7684\u5927\u5c0f\u3002MC\u4e0d\u662f\u5728\u54cd\u5e94\u4e2d\u591a\u6b21\u91cd\u590d\u540c\u4e00\u4e2a\u4e3b\u673a\u540d\uff0c\u800c\u662f\u7528\u4e00\u4e2a\u6307\u5411\u5148\u524d\u5f15\u7528\u7684\u4e3b\u673a\u540d\u7684\u6307\u9488\u6765\u66ff\u6362\u4e00\u4e2a\u4e3b\u673a\u540d\u3002RFC\u5b9e\u9645\u4e0a\u89e3\u91ca\u5f97\u975e\u5e38\u597d\u3002MC\u5e2e\u52a9\u670d\u52a1\u5668\u5c06\u4ed6\u4eec\u7684DNS\u54cd\u5e94\u653e\u5165\u4e00\u4e2aUDP\u6570\u636e\u5305\u4e2d\uff0c\u8fd9\u5f88\u91cd\u8981\uff0c\u56e0\u4e3aUDP\u662f\u4e0d\u53ef\u9760\u7684\uff0c\u4e0d\u5173\u5fc3\u622a\u65ad\u7684\u6570\u636e\u5305\u3002MC\u9700\u8981\u56de\u770b\u4e4b\u524d\u89e3\u6790\u8fc7\u7684\u5b57\u8282\uff0c\u4f46Nom\u53ea\u8ba9\u4f60\u56de\u770b\u5269\u4f59\u7684\u3001\u672a\u89e3\u6790\u8fc7\u7684\u5b57\u8282\u3002\u6211\u82b1\u4e86\u597d\u51e0\u6b21\u65f6\u95f4\u624d\u80fd\u591f\u4ee5\u4e00\u79cd\u6f02\u4eae\u7684\u3001\u4e60\u60ef\u6027\u7684Nom\u65b9\u5f0f\u652f\u6301MC\uff0c\u6240\u4ee5\u8fd9\u53c8\u82b1\u4e86\u6211\u4e00\u4e2a\u5468\u672b\u7684\u529f\u592b\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u603b\u7ed3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u662f\u6211\u505a\u8fc7\u7684\u6700\u559c\u6b22\u7684\u9879\u76ee\u4e4b\u4e00\u3002\u6211\u4eca\u5e74\u7684\u804c\u4e1a\u76ee\u6807\u662f\u5b66\u4e60\u66f4\u591a\u7684Linux\u548c\u7f51\u7edc\u77e5\u8bc6\u3002\u7f16\u5199dingo\u8ba9\u6211\u5b66\u5230\u4e86\u5f88\u591a\u5173\u4e8e\u4e92\u8054\u7f51\u7684\u57fa\u672c\u6784\u4ef6\u4e4b\u4e00\uff0c\u4ee5\u53ca\u771f\u6b63\u7684\u64cd\u4f5c\u7cfb\u7edf\u5982\u4f55\u5904\u7406\u5b83\u3002\u5982\u679c\u4f60\u60f3\u5b66\u4e60\u66f4\u591a\u5173\u4e8e\u4f4e\u7ea7\u522b\u7684\u7f16\u7a0b\uff0cDNS\u5ba2\u6237\u7aef\u662f\u4e00\u4e2a\u5b8c\u7f8e\u7684\u6311\u6218\u3002\u5b83\u6709\u4f4d\u6570\u8fd0\u7b97\u3001\u89e3\u6790\u3001UDP\u7f51\u7edc\u3001IP\u5730\u5740\u548cDNS\u4e3b\u673a\u540d\u3002\u4f60\u4f1a\u5b66\u5230\u5f88\u591a\u4e1c\u897f\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u6211\u5199\u5b8cdingo\u4e4b\u540e\uff0c\u6211\u7684\u670b\u53cbJesse Li\u7528Python\u5199\u4e86\u4ed6\u81ea\u5df1\u7684DNS\u5ba2\u6237\u7aef\u3002\u5f88\u660e\u663e\uff0c\u7f16\u5199DNS\u5ba2\u6237\u7aef\u662f\u65b0\u7684\u70ed\u95e8\u8d8b\u52bf\uff0c\u4f60\u5fc5\u987b\u8981\u52a0\u5165\u8fdb\u6765\u3002\u5982\u679c\u4f60\u5c1d\u8bd5\u4e86\uff0c\u5e94\u8be5\u5728\u4e0b\u9762\u8bc4\u8bba \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u8bd5\u8fc7deku\uff0c\u5b83\u975e\u5e38\u597d\uff01\u6211\u559c\u6b22\u5b83\u4f7f\u7528\u4f60\u7684\u7ed3\u6784\u4f53\u5b57\u6bb5\u4e0a\u7684\u6ce8\u89e3\u6765\u751f\u6210\u5e8f\u5217\u5316\u548c\u53cd\u5e8f\u5217\u5316\u7684\u65b9\u6cd5\uff0c\u8fd9\u6837\u5b83\u4eec\u5c31\u4e0d\u4f1a\u51b2\u7a81\u3002\u6211\u559c\u6b22\u5b83\u4f7f\u7528\u7ed3\u6784\u4f53\u5b57\u6bb5\u4e0a\u7684\u6ce8\u89e3\u6765\u751f\u6210\u5e8f\u5217\u5316\u548c\u53cd\u5e8f\u5217\u5316\u7684\u65b9\u6cd5\uff0c\u6240\u4ee5\u5b83\u4eec\u6c38\u8fdc\u4e0d\u4f1a\u51b2\u7a81\uff0c\u800c\u4e14\u4f60\u4e0d\u5fc5\u5b66\u4e60\u4e24\u4e2a\u72ec\u7acb\u7684\u5e93\uff08bitvec\u548cnom\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f46\u6211\u60f3\u7ec3\u4e60\u660e\u786e\u5730\u4f7f\u7528bitvec\u5e76\u9002\u5e94\u5b83\u7684API\u2014\u6bd5\u7adf\uff0c\u6211\u505a\u8fd9\u4e2a\u9879\u76ee\u53ea\u662f\u4e3a\u4e86\u5b66\u4e60\u4e1c\u897f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u53e6\u5916\uff0cdeku\u4f7f\u7528serde\u548csyn\u6765\u652f\u6301\u5176\uff08\u975e\u5e38\u6709\u7528\u7684\uff09\u5e8f\u5217\u5316\u6ce8\u91ca\u3002\u8fd9\u4e9b\u677f\u5757\u771f\u7684\u5f88\u5f3a\u5927\uff0c\u53ef\u4ee5\u771f\u6b63\u51cf\u5c11\u4f60\u4ee3\u7801\u5e93\u4e2d\u7684\u6a21\u677f\u3002\u4f46\u5b83\u4eec\u786e\u5b9e\u7ed9\u4f60\u7684\u6784\u5efa\u65f6\u95f4\u589e\u52a0\u4e86\u76f8\u5f53\u591a\u7684\u5f00\u9500\u3002\u8fd9\u5728\u5de5\u4f5c\u4e2d\u4e0d\u662f\u95ee\u9898\uff0c\u56e0\u4e3a\u6211\u7684Rust\u9879\u76ee\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u5df2\u7ecf\u5728\u6811\u4e2d\u5305\u542b\u4e86serde\/syn\u3002\u4f46\u662fdingo\u6ca1\u6709\u4f7f\u7528\u5b83\u4eec\u4e2d\u7684\u4efb\u4f55\u4e00\u4e2a\uff0c\u6240\u4ee5\u52a0\u5165Deku\u4f1a\u4f7f\u6784\u5efa\u65f6\u95f4\u4ece5\u79d2\u589e\u52a0\u523015\u79d2\u3002\u6211\u5e0c\u671b\u5c06\u6765\u80fd\u4f7f\u7528Deku\uff0c\u4f46\u5b83\u5e76\u4e0d\u9002\u5408\u8fd9\u4e2a\u7279\u5b9a\u7684\u9879\u76ee\u3002<br><br>Syscalls\u5c31\u50cf\u64cd\u4f5c\u7cfb\u7edf\u5b9a\u4e49\u7684\u51fd\u6570\uff0c\u6240\u4ee5\u64cd\u4f5c\u7cfb\u7edf\u53ef\u4ee5\u7ba1\u7406\u50cfI\/O\u8fd9\u6837\u7684\u98ce\u9669\u64cd\u4f5c\u3002Dtruss\u662f\u4e00\u4e2aMacOS\u7248\u672c\u7684strace\uff0c\u4e00\u4e2aLinux\u5de5\u5177\u3002\u6211\u4eceJulia Evans\u7684\u4f1f\u5927\u7684strace\u6f2b\u753b\u4e2d\u5b66\u5230\u4e86\u5982\u4f55\u4f7f\u7528strace\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u8fd9\u4e2a\u6f2b\u753b\uff0c\u6211\u4ece\u91cc\u9762\u5b66\u5230\u4e86\u5f88\u591a\u3002\u73b0\u5728\u5f53\u6211\u5199\u4e00\u4e2a\u7a0b\u5e8f\u65f6\uff0c\u6211\u53ef\u4ee5\u7aa5\u63a2\u5230\u7f16\u8bd1\u540e\u7684\u4ee3\u7801\u5728\u8fd0\u884c\u6211\u7684\u51fd\u6570\u65f6\u7a76\u7adf\u5728\u505a\u4ec0\u4e48\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Syscalls\u5c31\u50cf\u64cd\u4f5c\u7cfb\u7edf\u5b9a\u4e49\u7684\u51fd\u6570\uff0c\u6240\u4ee5\u64cd\u4f5c\u7cfb\u7edf\u53ef\u4ee5\u7ba1\u7406\u50cfI\/O\u8fd9\u6837\u7684\u98ce\u9669\u64cd\u4f5c\u3002Dtruss\u662f\u4e00\u4e2aMacOS\u7248\u672c\u7684strace\uff0c\u4e00\u4e2aLinux\u5de5\u5177\u3002\u6211\u4eceJulia Evans\u7684\u4f1f\u5927\u7684strace\u6f2b\u753b\u4e2d\u5b66\u5230\u4e86\u5982\u4f55\u4f7f\u7528strace\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u8fd9\u4e2a\u6f2b\u753b\uff0c\u6211\u4ece\u91cc\u9762\u5b66\u5230\u4e86\u5f88\u591a\u3002\u73b0\u5728\u5f53\u6211\u5199\u4e00\u4e2a\u7a0b\u5e8f\u65f6\uff0c\u6211\u53ef\u4ee5\u7aa5\u63a2\u5230\u7f16\u8bd1\u540e\u7684\u4ee3\u7801\u5728\u8fd0\u884c\u6211\u7684\u51fd\u6570\u65f6\u7a76\u7adf\u5728\u505a\u4ec0\u4e48\u3002<\/p>\n","protected":false},"author":2,"featured_media":570,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-558","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technews","col-md-12"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6 - WITE<\/title>\n<meta name=\"description\" content=\"Syscalls\u5c31\u50cf\u64cd\u4f5c\u7cfb\u7edf\u5b9a\u4e49\u7684\u51fd\u6570\uff0c\u6240\u4ee5\u64cd\u4f5c\u7cfb\u7edf\u53ef\u4ee5\u7ba1\u7406\u50cfI\/O\u8fd9\u6837\u7684\u98ce\u9669\u64cd\u4f5c\u3002Dtruss\u662f\u4e00\u4e2aMacOS\u7248\u672c\u7684strace\uff0c\u4e00\u4e2aLinux\u5de5\u5177\u3002\u6211\u4eceJulia Evans\u7684\u4f1f\u5927\u7684strace\u6f2b\u753b\u4e2d\u5b66\u5230\u4e86\u5982\u4f55\u4f7f\u7528strace\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u8fd9\u4e2a\u6f2b\u753b\uff0c\u6211\u4ece\u91cc\u9762\u5b66\u5230\u4e86\u5f88\u591a\u3002\u73b0\u5728\u5f53\u6211\u5199\u4e00\u4e2a\u7a0b\u5e8f\u65f6\uff0c\u6211\u53ef\u4ee5\u7aa5\u63a2\u5230\u7f16\u8bd1\u540e\u7684\u4ee3\u7801\u5728\u8fd0\u884c\u6211\u7684\u51fd\u6570\u65f6\u7a76\u7adf\u5728\u505a\u4ec0\u4e48\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wite.oxoooo.com\/?p=558\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6 - WITE\" \/>\n<meta property=\"og:description\" content=\"Syscalls\u5c31\u50cf\u64cd\u4f5c\u7cfb\u7edf\u5b9a\u4e49\u7684\u51fd\u6570\uff0c\u6240\u4ee5\u64cd\u4f5c\u7cfb\u7edf\u53ef\u4ee5\u7ba1\u7406\u50cfI\/O\u8fd9\u6837\u7684\u98ce\u9669\u64cd\u4f5c\u3002Dtruss\u662f\u4e00\u4e2aMacOS\u7248\u672c\u7684strace\uff0c\u4e00\u4e2aLinux\u5de5\u5177\u3002\u6211\u4eceJulia Evans\u7684\u4f1f\u5927\u7684strace\u6f2b\u753b\u4e2d\u5b66\u5230\u4e86\u5982\u4f55\u4f7f\u7528strace\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u8fd9\u4e2a\u6f2b\u753b\uff0c\u6211\u4ece\u91cc\u9762\u5b66\u5230\u4e86\u5f88\u591a\u3002\u73b0\u5728\u5f53\u6211\u5199\u4e00\u4e2a\u7a0b\u5e8f\u65f6\uff0c\u6211\u53ef\u4ee5\u7aa5\u63a2\u5230\u7f16\u8bd1\u540e\u7684\u4ee3\u7801\u5728\u8fd0\u884c\u6211\u7684\u51fd\u6570\u65f6\u7a76\u7adf\u5728\u505a\u4ec0\u4e48\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wite.oxoooo.com\/?p=558\" \/>\n<meta property=\"og:site_name\" content=\"WITE\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-13T05:37:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-27T01:13:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/how-to-become-a-programmer-in-india.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1500\" \/>\n\t<meta property=\"og:image:height\" content=\"1001\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"hgostand\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"hgostand\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558\"},\"author\":{\"name\":\"hgostand\",\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/#\\\/schema\\\/person\\\/00c6377b90c41a8d0789bd572010a7ea\"},\"headline\":\"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6\",\"datePublished\":\"2022-04-13T05:37:20+00:00\",\"dateModified\":\"2022-04-27T01:13:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558\"},\"wordCount\":160,\"publisher\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/#\\\/schema\\\/person\\\/00c6377b90c41a8d0789bd572010a7ea\"},\"image\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wite.oxoooo.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/how-to-become-a-programmer-in-india.jpg\",\"articleSection\":[\"\u65f6\u523b\"],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558\",\"url\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558\",\"name\":\"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6 - WITE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wite.oxoooo.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/how-to-become-a-programmer-in-india.jpg\",\"datePublished\":\"2022-04-13T05:37:20+00:00\",\"dateModified\":\"2022-04-27T01:13:53+00:00\",\"description\":\"Syscalls\u5c31\u50cf\u64cd\u4f5c\u7cfb\u7edf\u5b9a\u4e49\u7684\u51fd\u6570\uff0c\u6240\u4ee5\u64cd\u4f5c\u7cfb\u7edf\u53ef\u4ee5\u7ba1\u7406\u50cfI\\\/O\u8fd9\u6837\u7684\u98ce\u9669\u64cd\u4f5c\u3002Dtruss\u662f\u4e00\u4e2aMacOS\u7248\u672c\u7684strace\uff0c\u4e00\u4e2aLinux\u5de5\u5177\u3002\u6211\u4eceJulia Evans\u7684\u4f1f\u5927\u7684strace\u6f2b\u753b\u4e2d\u5b66\u5230\u4e86\u5982\u4f55\u4f7f\u7528strace\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u8fd9\u4e2a\u6f2b\u753b\uff0c\u6211\u4ece\u91cc\u9762\u5b66\u5230\u4e86\u5f88\u591a\u3002\u73b0\u5728\u5f53\u6211\u5199\u4e00\u4e2a\u7a0b\u5e8f\u65f6\uff0c\u6211\u53ef\u4ee5\u7aa5\u63a2\u5230\u7f16\u8bd1\u540e\u7684\u4ee3\u7801\u5728\u8fd0\u884c\u6211\u7684\u51fd\u6570\u65f6\u7a76\u7adf\u5728\u505a\u4ec0\u4e48\u3002\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558#primaryimage\",\"url\":\"https:\\\/\\\/wite.oxoooo.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/how-to-become-a-programmer-in-india.jpg\",\"contentUrl\":\"https:\\\/\\\/wite.oxoooo.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/how-to-become-a-programmer-in-india.jpg\",\"width\":1500,\"height\":1001},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/?p=558#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\\\/\\\/wite.oxoooo.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/#website\",\"url\":\"https:\\\/\\\/wite.oxoooo.com\\\/\",\"name\":\"WITE\",\"description\":\"\u805a\u7126\u6280\u672f\u9886\u57df\u521b\u65b0\",\"publisher\":{\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/#\\\/schema\\\/person\\\/00c6377b90c41a8d0789bd572010a7ea\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wite.oxoooo.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wite.oxoooo.com\\\/#\\\/schema\\\/person\\\/00c6377b90c41a8d0789bd572010a7ea\",\"name\":\"hgostand\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/www.hgostand.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/\u8d44\u6e90-4@4x.png\",\"url\":\"https:\\\/\\\/www.hgostand.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/\u8d44\u6e90-4@4x.png\",\"contentUrl\":\"https:\\\/\\\/www.hgostand.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/\u8d44\u6e90-4@4x.png\",\"width\":824,\"height\":618,\"caption\":\"hgostand\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.hgostand.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/\u8d44\u6e90-4@4x.png\"},\"url\":\"https:\\\/\\\/wite.oxoooo.com\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6 - WITE","description":"Syscalls\u5c31\u50cf\u64cd\u4f5c\u7cfb\u7edf\u5b9a\u4e49\u7684\u51fd\u6570\uff0c\u6240\u4ee5\u64cd\u4f5c\u7cfb\u7edf\u53ef\u4ee5\u7ba1\u7406\u50cfI\/O\u8fd9\u6837\u7684\u98ce\u9669\u64cd\u4f5c\u3002Dtruss\u662f\u4e00\u4e2aMacOS\u7248\u672c\u7684strace\uff0c\u4e00\u4e2aLinux\u5de5\u5177\u3002\u6211\u4eceJulia Evans\u7684\u4f1f\u5927\u7684strace\u6f2b\u753b\u4e2d\u5b66\u5230\u4e86\u5982\u4f55\u4f7f\u7528strace\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u8fd9\u4e2a\u6f2b\u753b\uff0c\u6211\u4ece\u91cc\u9762\u5b66\u5230\u4e86\u5f88\u591a\u3002\u73b0\u5728\u5f53\u6211\u5199\u4e00\u4e2a\u7a0b\u5e8f\u65f6\uff0c\u6211\u53ef\u4ee5\u7aa5\u63a2\u5230\u7f16\u8bd1\u540e\u7684\u4ee3\u7801\u5728\u8fd0\u884c\u6211\u7684\u51fd\u6570\u65f6\u7a76\u7adf\u5728\u505a\u4ec0\u4e48\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wite.oxoooo.com\/?p=558","og_locale":"zh_CN","og_type":"article","og_title":"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6 - WITE","og_description":"Syscalls\u5c31\u50cf\u64cd\u4f5c\u7cfb\u7edf\u5b9a\u4e49\u7684\u51fd\u6570\uff0c\u6240\u4ee5\u64cd\u4f5c\u7cfb\u7edf\u53ef\u4ee5\u7ba1\u7406\u50cfI\/O\u8fd9\u6837\u7684\u98ce\u9669\u64cd\u4f5c\u3002Dtruss\u662f\u4e00\u4e2aMacOS\u7248\u672c\u7684strace\uff0c\u4e00\u4e2aLinux\u5de5\u5177\u3002\u6211\u4eceJulia Evans\u7684\u4f1f\u5927\u7684strace\u6f2b\u753b\u4e2d\u5b66\u5230\u4e86\u5982\u4f55\u4f7f\u7528strace\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u8fd9\u4e2a\u6f2b\u753b\uff0c\u6211\u4ece\u91cc\u9762\u5b66\u5230\u4e86\u5f88\u591a\u3002\u73b0\u5728\u5f53\u6211\u5199\u4e00\u4e2a\u7a0b\u5e8f\u65f6\uff0c\u6211\u53ef\u4ee5\u7aa5\u63a2\u5230\u7f16\u8bd1\u540e\u7684\u4ee3\u7801\u5728\u8fd0\u884c\u6211\u7684\u51fd\u6570\u65f6\u7a76\u7adf\u5728\u505a\u4ec0\u4e48\u3002","og_url":"https:\/\/wite.oxoooo.com\/?p=558","og_site_name":"WITE","article_published_time":"2022-04-13T05:37:20+00:00","article_modified_time":"2022-04-27T01:13:53+00:00","og_image":[{"width":1500,"height":1001,"url":"https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/how-to-become-a-programmer-in-india.jpg","type":"image\/jpeg"}],"author":"hgostand","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"hgostand","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wite.oxoooo.com\/?p=558#article","isPartOf":{"@id":"https:\/\/wite.oxoooo.com\/?p=558"},"author":{"name":"hgostand","@id":"https:\/\/wite.oxoooo.com\/#\/schema\/person\/00c6377b90c41a8d0789bd572010a7ea"},"headline":"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6","datePublished":"2022-04-13T05:37:20+00:00","dateModified":"2022-04-27T01:13:53+00:00","mainEntityOfPage":{"@id":"https:\/\/wite.oxoooo.com\/?p=558"},"wordCount":160,"publisher":{"@id":"https:\/\/wite.oxoooo.com\/#\/schema\/person\/00c6377b90c41a8d0789bd572010a7ea"},"image":{"@id":"https:\/\/wite.oxoooo.com\/?p=558#primaryimage"},"thumbnailUrl":"https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/how-to-become-a-programmer-in-india.jpg","articleSection":["\u65f6\u523b"],"inLanguage":"zh-Hans"},{"@type":"WebPage","@id":"https:\/\/wite.oxoooo.com\/?p=558","url":"https:\/\/wite.oxoooo.com\/?p=558","name":"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6 - WITE","isPartOf":{"@id":"https:\/\/wite.oxoooo.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wite.oxoooo.com\/?p=558#primaryimage"},"image":{"@id":"https:\/\/wite.oxoooo.com\/?p=558#primaryimage"},"thumbnailUrl":"https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/how-to-become-a-programmer-in-india.jpg","datePublished":"2022-04-13T05:37:20+00:00","dateModified":"2022-04-27T01:13:53+00:00","description":"Syscalls\u5c31\u50cf\u64cd\u4f5c\u7cfb\u7edf\u5b9a\u4e49\u7684\u51fd\u6570\uff0c\u6240\u4ee5\u64cd\u4f5c\u7cfb\u7edf\u53ef\u4ee5\u7ba1\u7406\u50cfI\/O\u8fd9\u6837\u7684\u98ce\u9669\u64cd\u4f5c\u3002Dtruss\u662f\u4e00\u4e2aMacOS\u7248\u672c\u7684strace\uff0c\u4e00\u4e2aLinux\u5de5\u5177\u3002\u6211\u4eceJulia Evans\u7684\u4f1f\u5927\u7684strace\u6f2b\u753b\u4e2d\u5b66\u5230\u4e86\u5982\u4f55\u4f7f\u7528strace\uff0c\u6211\u5f3a\u70c8\u63a8\u8350\u8fd9\u4e2a\u6f2b\u753b\uff0c\u6211\u4ece\u91cc\u9762\u5b66\u5230\u4e86\u5f88\u591a\u3002\u73b0\u5728\u5f53\u6211\u5199\u4e00\u4e2a\u7a0b\u5e8f\u65f6\uff0c\u6211\u53ef\u4ee5\u7aa5\u63a2\u5230\u7f16\u8bd1\u540e\u7684\u4ee3\u7801\u5728\u8fd0\u884c\u6211\u7684\u51fd\u6570\u65f6\u7a76\u7adf\u5728\u505a\u4ec0\u4e48\u3002","breadcrumb":{"@id":"https:\/\/wite.oxoooo.com\/?p=558#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wite.oxoooo.com\/?p=558"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/wite.oxoooo.com\/?p=558#primaryimage","url":"https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/how-to-become-a-programmer-in-india.jpg","contentUrl":"https:\/\/wite.oxoooo.com\/wp-content\/uploads\/2022\/04\/how-to-become-a-programmer-in-india.jpg","width":1500,"height":1001},{"@type":"BreadcrumbList","@id":"https:\/\/wite.oxoooo.com\/?p=558#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/wite.oxoooo.com\/"},{"@type":"ListItem","position":2,"name":"\u7528Rust\u5236\u4f5cDNS\u5ba2\u6237\u7aef\u4e2d\u5b66\u5230\u7684\u77e5\u8bc6"}]},{"@type":"WebSite","@id":"https:\/\/wite.oxoooo.com\/#website","url":"https:\/\/wite.oxoooo.com\/","name":"WITE","description":"\u805a\u7126\u6280\u672f\u9886\u57df\u521b\u65b0","publisher":{"@id":"https:\/\/wite.oxoooo.com\/#\/schema\/person\/00c6377b90c41a8d0789bd572010a7ea"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wite.oxoooo.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":["Person","Organization"],"@id":"https:\/\/wite.oxoooo.com\/#\/schema\/person\/00c6377b90c41a8d0789bd572010a7ea","name":"hgostand","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.hgostand.com\/wp-content\/uploads\/2022\/03\/\u8d44\u6e90-4@4x.png","url":"https:\/\/www.hgostand.com\/wp-content\/uploads\/2022\/03\/\u8d44\u6e90-4@4x.png","contentUrl":"https:\/\/www.hgostand.com\/wp-content\/uploads\/2022\/03\/\u8d44\u6e90-4@4x.png","width":824,"height":618,"caption":"hgostand"},"logo":{"@id":"https:\/\/www.hgostand.com\/wp-content\/uploads\/2022\/03\/\u8d44\u6e90-4@4x.png"},"url":"https:\/\/wite.oxoooo.com\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=\/wp\/v2\/posts\/558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=558"}],"version-history":[{"count":7,"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=\/wp\/v2\/posts\/558\/revisions"}],"predecessor-version":[{"id":571,"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=\/wp\/v2\/posts\/558\/revisions\/571"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=\/wp\/v2\/media\/570"}],"wp:attachment":[{"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=558"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wite.oxoooo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}