巡风探索

模块内容包括:

├─nascan
│  │  NAScan.py # 网络资产信息抓取引擎
│  │
│  ├─lib
│  │      cidr.py 
│  │      common.py 其他方法
│  │      icmp.py  # ICMP发送类
│  │      log.py  # 日志输出
│  │      mongo.py  # 数据库连接
│  │      scan.py  # 扫描与识别
│  │      start.py  # 线程控制
│  │
│  └─plugin
│          masscan.py  # 调用Masscan脚本

从主函数NAScan.py开始,函数跑起来如下:

巡风探索_第1张图片

CONFIG_INI = get_config() # 读取配置

CONFIG_INI = get_config()  # 读取配置

结果如下(经过处理)

>>> CONFIG_INI
{u'Masscan':
 u'0|20000|/root/xunfeng/masscan/linux_64/masscan', 
 u'Discern_cms':
 [[u'phpmyadmin', u'file', u'index', u'pma_username'],
 [u'phpmyadmin', u'file', u'/phpmyadmin', u'pma_username'],
 [u'routeros', u'file', u'index', u'RouterOS router configuration page<\\/title>'],
 [u'destoon', u'file', u'index', u'Powered by DESTOON'],
 [u'destoon', u'file', u'index', u'DESTOON B2B SYSTEM'],
 [u'u-mail', u'file', u'index', u'Power(ed)? by[^>]+U-Mail'],
 [u'winmail', u'file', u'index', u'Winmail Mail Server'],
 [u'coremail', u'file', u'index', u'Coremail[^>]+<\\/title>'],
 [u'winmail', u'header', u'Set-Cookie', u'magicwinmail'],
 [u'winmail', u'file', u'index', u'Powered by Winmail Server'],
 [u'turbomail', u'file', u'index', u'Powered by TurboMail'],
 [u'xmail', u'file', u'index', u'\\d{4}-\\d{4}\\s*webmail.idccenter.net'],
 [u'outlook', u'header', u'X-OWA-Version', u'.*?'],
 [u'outlook', u'file', u'index', u'Outlook Web (Access|App)\\s*(?=<\\/title>)'],
 [u'anymacro', u'header', u'Server', u'AnyWebApp'],
 [u'anymacro', u'file', u'index', u'sec.anymacro.com'],
 [u'extmail', u'file', u'index', u'powered by.*?Extmail'],
 [u'lotus', u'file',
u'index', u'IBM Lotus iNotes[^>]+(?=<\\/title>)'],
 [u'lotus', u'file', u'index', u'iwaredir.nsf'],
 [u'squirrelmail', u'file', u'index', u'SquirrelMail Project Team'],
 [u'squirrelmail', u'header', u'Set-Cookie', u'SQMSESSID'],
 [u'squirrelmail', u'file', u'index', u'SquirrelMail'],
 [u'eqmail', u'file', u'index', u'Powered by EQMail'],
 [u'tmailer', u'file', u'index', u'TMailer Collaboration Suite Web Client'],
 [u'zimbra', u'header', u'Set-Cookie', u'ZM_TEST'],
 [u'zimbra', u'file', u'index', u'zimbra[^>]+(?=<\\/title>)'],
 [u'zimbra', u'file', u'index', u'Zimbra,?\\s*Inc. All rights reserved.'],
 [u'bxemail', u'file', u'index', u'abc@bxemail.com'],
 [u'horde', u'file', u'index', u'<title>[^>]+?Horde'],
 [u'horde', u'file', u'index', u'\\/themes\\/graphics\\/horde-power1.png'],
 [u'atmail', u'file', u'index', u'powered by Atmail'],
 [u'ilohamail', u'header', u'Set-Cookie', u'IMAIL_TEST_COOKIE'],
 [u'ilohamail', u'header', u'SESS_KEY', u'.*?'],
 [u'ilohamail', u'file', u'index', u'powered by[^>]+IlohaMail'],
 [u'fangmail', u'file', u'index', u'fangmail'],
 [u'roundcube', u'file', u'index', u'Roundcube'],
 [u'mailbase', u'header', u'Set-Cookie', u'\\s*(mb_lang|mb_ui_type|mb_cus_type)'],
 [u'mailbase', u'file', u'index', u'MailBase[^<>]+(?=<\\/title>)'],
 [u'kxmail', u'file', u'index', u'Powered By\\s?<[^>]+>\\s?KXmail'],
 [u'tongda', u'file', u'index', u'href="/images/tongda\\.ico"'],
 [u'trs_wcm', u'file', u'index', u'<title[^>]+>TRS WCM[^<]+'],
 [u'trs_wcm', u'file', u'index', u'href="/wcm/console/auth/reg_newuser.jsp"'],
 [u'mymps', u'file', u'index', u'powered by[^&]+Mymps.*?'],
 [u'mymps', u'file', u'index', u'wcontent="mymps'],
 [u'mailgard', u'file', u'index', u'mailgard\\swebmail'],
 [u'discuz', u'file', u'/robots.txt', u'discuz'],
 [u'discuz', u'file', u'/robots.txt', u'discuz'],
 [u'phpwind', u'file', u'/robots.txt', u'phpwind'],
 [u'phpcms', u'file', u'/robots.txt', u'phpcms'],
 [u'php168', u'file', u'/robots.txt', u'php168'],
 [u'qibosoft', u'file', u'/robots.txt', u'qibocms'],
 [u'emlog', u'file', u'/robots.txt', u'robots.txt for emlog'],
 [u'wecenter', u'file', u'/robots.txt', u'robots.txt for wecenter'],
 [u'bbsmax', u'file', u'/robots.txt', u'bbsmax'],
 [u'shopnc', u'file', u'/robots.txt', u'robots.txt for shopnc'],
 [u'hdwike', u'file', u'/robots.txt', u'robots.txt for hdwiki'],
 [u'phpdisk', u'file', u'/robots.txt', u'PHPDisk'],
 [u'dedecms', u'file', u'/data/admin/ver.txt', u'20110812'],
 [u'dedecms', u'file', u'/data/admin/ver.txt', u'20111111'],
 [u'dedecms', u'file', u'/data/admin/ver.txt', u'20120709'],
 [u'dedecms', u'file', u'/data/admin/ver.txt', u'20140814'],
 [u'dedecms', u'file', u'/data/admin/verifies.txt', u'20081204'],
 [u'dedecms', u'file', u'/data/admin/verifies.txt', u'20100324'],
 [u'dedecms', u'file', u'/data/admin/verifies.txt', u'20100514'],
 [u'dedecms', u'file', u'/data/admin/verifies.txt', u'20110216'],
 [u'wordpress', u'file', u'/robots.txt', u'wordpress'],
 [u'wordpress', u'file', u'/license.txt', u'wordpress'],
 [u'wordpress', u'file', u'/readme.txt', u'wordpress'],
 [u'wordpress', u'file', u'/help.txt', u'wordpress'],
 [u'wordpress', u'file', u'/readme.html', u'wordpress'],
 [u'wordpress', u'file', u'/wp-admin/css/colors-classic.css', u'wordpress'],
 [u'wordpress', u'file', u'/wp-admin/js/media-upload.dev.js', u'wordpress'],
 [u'wordpress', u'file', u'/wp-content/plugins/akismet/akismet.js', u'wordpress'],
 [u'wordpress', u'file', u'/wp-content/themes/classic/rtl.css', u'wordpress'],
 [u'wordpress', u'file', u'/wp-includes/css/buttons.css', u'wordpress'],
 [u'z-blog', u'file', u'/license.txt', u'z-bolg'],
 [u'z-blog', u'file', u'/SCRIPT/common.js', u'z-bolg'],
 [u'southidc', u'file', u'/Ads/left.js', u'southidc'],
 [u'southidc', u'file', u'/Css/Style.css', u'southidc'],
 [u'southidc', u'file', u'/Images/ad.js', u'southidc'],
 [u'southidc', u'file', u'/Script/Html.js', u'southidc'],
 [u'siteserver',u'file', u'/robots.txt', u'\\/SiteFiles\\/'],
 [u'siteserver', u'file', u'/SiteFiles/Inner/Register/script.js', u'stlUserRegister'],
 [u'enableq', u'file', u'/License/index.php', u'EnableQ'],
 [u'enableq', u'file', u'/robots.txt', u'robots.txt for EnableQ'],
 [u'trs_wcm', u'file', u'/wcm/app/login.jsp', u'TRS WCM'],
 [u'trs_wcm', u'file', u'/wcm/app/login.jsp', u'href="/wcm/console/auth/reg_newuser.jsp"'],
 [u'mymps', u'file',u'/robots.txt', u'mymps'],
 [u'igenus', u'file', u'/help/', u'igenus'],
 [u'mailgard', u'file', u'/help/io_login.html', u'webmail']],
u'Thread':
u'200', 
u'Discern_lang':
 [[u'php', u'header', u'Server', u'php'],
 [u'php', u'header', u'X-Powered-By', u'php'],
 [u'php', u'header', u'Set-Cookie', u'PHPSSIONID'],
 [u'jsp', u'header', u'Set-Cookie', u'JSESSIONID'],
 [u'asp', u'header', u'Set-Cookie', u'ASPSESSION'],
 [u'aspx', u'header',u'Set-Cookie', u'ASP.NET_SessionId'],
 [u'aspx', u'header', u'X-AspNet-Version', u'version'],
 [u'aspx', u'file', u'index', u']+name=\\"__VIEWSTATE'],
 [u'aspx', u'file', u'index', u']*?href=(\'|")[^http].*?\\.aspx(\\?|\\1)'],
 [u'asp', u'file', u'index', u']*?href=(\'|")[^http].*?\\.asp(\\?|\\1)'],
 [u'php', u'file', u'index', u']*?href=(\'|")[^http].*?\\.php(\\?|\\1)'],
 [u'jsp', u'file', u'index', u']*?href=(\'|")[^http].*?\\.jsp(\\?|\\1)']],
u'Discern_con':
 [[u'jboss', u'header', u'X-Powered-By', u'jboss'],
 [u'jboss', u'file', u'jboss.css', u'youcandoit.jpg'],
 [u'jboss', u'file', u'is_test', u'JBossWeb'],
 [u'axis', u'file', u'axis2', u'axis2-web/images/axis_l.jpg'],
 [u'weblogic', u'file', u'is_test', u'Hypertext Transfer Protocol'],
 [u'weblogic', u'file', u'console/css/login.css', u'Login_GC_LoginPage_Bg.gif'],
 [u'glassfish', u'file', u'resource/js/cj.js', u'glassfish.dev.java.net'],
 [u'glassfish', u'header', u'server', u'GlassFish'],
 [u'jenkins', u'header', u'X-Jenkins', u'.*?'],
 [u'jenkins', u'file', u'index', u'\\[Jenkins\\]'],
 [u'resin', u'header', u'server', u'resin'],
 [u'tomcat', u'file', u'is_test', u'Apache Tomcat'],
 [u'apache', u'header', u'server', u'apache'],
 [u'iis', u'header', u'server', u'iis'],
 [u'jetty', u'header', u'server', u'jetty'],
 [u'nginx', u'header', u'server', u'nginx'],
 [u'cisco', u'header', u'server', u'cisco'],
 [u'couchdb', u'header', u'server', u'couchdb'],
 [u'tplink', u'header', u'WWW-Authenticate', u'TP-LINK'],
 [u'h3c', u'header', u'WWW-Authenticate', u'h3c'],
 [u'h3c', u'file', u'index', u'/web/device/login'],
 [u'huawei', u'header', u'WWW-Authenticate', u'huawei'],
 [u'netgear', u'header', u'WWW-Authenticate', u'netgear'],
 [u'hikvision', u'header', u'server', u'DNVRS-Webs'],
 [u'hikvision', u'header', u'server', u'App-webs'],
 [u'hikvision', u'header', u'server', u'DVRDVS-Webs'],
 [u'hikvision', u'header', u'server', u'Hikvision-Webs'],
 [u'tengine', u'header', u'server', u'Tengine']],
u'Scan_list':
 u'', 
u'Port_list':
u'1|21\n22\n23\n25\n53\n80\n110\n139\n143\n389\n443\n445\n465\n873\n993\n995\n1080\n1311\n1723\n1433\n1521\n3000\n3001\n3002\n3306\n3389\n3690\n4000\n5432\n5900\n6379\n7001\n8000\n8001\n8080\n8081\n8888\n9200\n9300\n9080\n9090\n9999\n11211\n27017', 
u'Timeout':
 u'8', 
u'Discern_server':
 [[u'ftp', u'21', u'banner', u'^220.*?ftp|^220-|^220 Service|^220 FileZilla'],
 [u'ssh', u'22', u'banner', u'^ssh-'],
 [u'telnet', u'23', u'banner', u'^\\xff[\\xfa-\\xfe]|^\\x54\\x65\\x6c|Telnet'],
 [u'smtp', u'25', u'banner', u'^220.*?smtp'],
 [u'dns', u'53', u'default', u''],
 [u'pop3', u'110', u'banner', u'\\+OK.*?pop3'],
 [u'netbios', u'139', u'default', u''],
 [u'imap', u'143', u'banner', u'^\\* OK.*?imap'],
 [u'ldap', u'389', u'default', u''],
 [u'smb', u'445', u'default', u''],
 [u'smtps', u'465', u'default', u''],
 [u'rsync', u'873', u'banner', u'^@RSYNCD|^@ERROR'],
 [u'imaps', u'993', u'default', u''],
 [u'pop3', u'995', u'banner', u'\\+OK'],
 [u'proxy', u'1080', u'\\x05\\x01\\x00\\x01', u'^\\x05\\x00'],
 [u'pptp', u'1723', u'default', u''],
 [u'mssql', u'1433', u'\\x12\\x01\\x00\\x34\\x00\\x00\\x00\\x00\\x00\\x00\\x15\\x00\\x06\\x01\\x00\\x1b\\x00\\x01\\x02\\x00\\x1c\\x00\\x0c\\x03\\x00\\x28\\x00\\x04\\xff\\x08\\x00\\x01\\x55\\x00\\x00\\x00\\x4d\\x53\\x53\\x51\\x4c\\x53\\x65\\x72\\x76\\x65\\x72\\x00\\x48\\x0f\\x00\\x00', u'^\\x04\\x01'],
 [u'oracle', u'1521', u'\\x00\\x3a\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x39\\x01\\x2c\\x00\\x00\\x08\\x00\\x7f\\xff\\xc6\\x0e\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x3a\\x00\\x00\\x08\\x00\\x41\\x41\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00', u'\\x00Y\\x00'],
 [u'mysql', u'3306', u'banner', u'^.\\0\\0\\0.*?mysql|^.\\0\\0\\0\\n|.*?MariaDB server'],
 [u'rdp', u'3389', u'\\x03\\x00\\x00\\x13\\x0E\\xE0\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x08\\x00\\x03\\x00\\x00\\x00', u'\\x03\\x00\\x00\\x13'],
 [u'svn', u'3690', u'default', u''],
 [u'postgresql', u'5432', u'\\x00\\x00\\x00\\x54\\x00\\x03\\x00\\x00\\x75\\x73\\x65\\x72\\x00\\x70\\x6f\\x73\\x74\\x67\\x72\\x65\\x73\\x00\\x64\\x61\\x74\\x61\\x62\\x61\\x73\\x65\\x00\\x70\\x6f\\x73\\x74\\x67\\x72\\x65\\x73\\x00\\x61\\x70\\x70\\x6c\\x69\\x63\\x61\\x74\\x69\\x6f\\x6e\\x5f\\x6e\\x61\\x6d\\x65\\x00\\x70\\x73\\x71\\x6c\\x00\\x63\\x6c\\x69\\x65\\x6e\\x74\\x5f\\x65\\x6e\\x63\\x6f\\x64\\x69\\x6e\\x67\\x00\\x55\\x54\\x46\\x38\\x00\\x00', u'^R\\x00\\x00\\x00'],
 [u'vnc', u'5900', u'banner', u'^RFB'],
 [u'redis', u'6379', u'info\\r\\n', u'redis'],
 [u'elasticsearch', u'9200', u'GET /_cat HTTP/1.1\\r\\n\\r\\n', u'/_cat/master'],
 [u'memcache', u'11211', u'\\x80\\x0b\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00', u'^\\x81\\x0b'],
 [u'mongodb', u'27017', u'\\x00\\x00\\x00\\xa7A\\x00\\x00\\x00\\x00\\x00\\x00\\xd4\\x07\\x00\\x00\\x00\\x00\\x00\\x00admin.$cmd\\x00\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\x13\\x00\\x00\\x00\\x10ismaster\\x00\\x01\\x00\\x00\\x00\\x00', u'ismaster'],
 [u'zookeeper', u'2181', u'stat', u'Zookeeper version']],
u'White_list':
 u'', 
u'Cycle':
 u'1|9'}

 

巡风中pymongo探索,

获取聚集列表 (聚集的概念类似于关系型数据库中的表),可以看到数据库中包含如下表:

>>> na_db.collection_names()
[u'Task', u'Info', u'Heartbeat', u'Update', u'Config', u'Result', u'Plugin', u'History', u'Statistics']

1、配置表探索 

连接聚集

>>> na_db.get_collection("Config")
Collection(Database(MongoClient(host=['127.0.0.1:65521'], document_class=dict, tz_aware=False, connect=True), u'xunfeng'), u'Config')

查看聚集的一条记录

>>> na_db.get_collection("Config").find_one()
{u'config': {u'White_list': {u'info': u'\u767d\u540d\u5355', u'help': u'\u4e0d\u5bf9\u767d\u540d\u5355\u5185\u7684IP\u5217\u8868\u8fdb\u884c\u6f0f\u6d1e\u68c0\u6d4b\u3002\u683c\u5f0f\uff1ax.x.x.x\uff0c\u4ee5\u884c\u5206\u5272', u'value': u''}, u'Thread': {u'info': u'\u6700\u5927\u7ebf\u7a0b\u6570', u'help': u'\u6f0f\u6d1e\u626b\u63cf\u7684\u5e76\u53d1\u7ebf\u7a0b\u6570', u'value': u'200'}, u'Timeout': {u'info': u'\u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4', u'help': u'\u63d2\u4ef6\u626b\u63cf\u65f6\u4f1a\u4f7f\u7528\u6b64\u53c2\u6570\u4f5c\u4e3a\u8fde\u63a5\u8d85\u65f6',
u'value': u'10'}, u'Password_dic': {u'info': u'\u5f31\u53e3\u4ee4\u5b57\u5178', u'help': u'\u5f31\u53e3\u4ee4\u5217\u8868\uff0c\u90e8\u5206\u6f0f\u6d1e\u68c0\u6d4b\u63d2\u4ef6\u4f1a\u8c03\u7528\u6b64\u5217\u8868\u8fdb\u884c\u5f31\u53e3\u4ee4\u68c0\u6d4b\u3002\u683c\u5f0f\uff1a\u4ee5\u884c\u5206\u5272\uff0c\u4e0d\u652f\u6301\u4e2d\u6587\u5bc6\u7801\u3002', u'value': u'123456\nadmin\nroot\npassword\n123123\n123\n1\n{user}\n{user}{user}\n{user}1\n{user}123\n{user}2016\n{user}2015\n{user}!\n\npassword01!\nroot@dba\nP@ssw0rd!!\nqwa123\nroot#123\n12345678\ntest\n123qwe!@#\n123456789\n123321\n1314520\n666666\nwoaini\nfuckyou\n000000\n1234567890\n8888888\nqwerty\n1qaz2wsx\nabc123\nabc123456\n1q2w3e4r\n123qwe\n159357\np@ssw0rd\np@55w0rd\npassword!\np@ssw0rd!\npassword1\n123qwe!@#\n123QWE!@#\n!@#qwe123\n123qwe!@#$\n1qaz@WSX\nr00t\ntomcat\napache\nsystem'}}, u'_id': ObjectId('57ee1e2f5a0a69272eb86d2f'), u'type': u'vulscan'}

 查看聚集的所有key (类似于关系型数据库中的字段)

>>> na_db.get_collection("Config").find_one().keys()
[u'config', u'_id', u'type']

查看聚集的所有记录

>>> a=na_db.get_collection("Config")
>>> a
Collection(Database(MongoClient(host=['127.0.0.1:65521'], document_class=dict, tz_aware=False, connect=True), u'xunfeng'), u'Config')
>>> for i in a.find():
...     print i

结果处理如下:

>>> a=na_db.get_collection("Config")
>>> a
Collection(Database(MongoClient(host=['127.0.0.1:65521'], document_class=dict, tz_aware=False, connect=True), u'xunfeng'), u'Config')
>>> for i in a.find():
...     print i
...
{u'config': 
{u'White_list': {u'info': u'\u767d\u540d\u5355', u'help': u'\u4e0d\u5bf9\u767d\u540d\u5355\u5185\u7684IP\u5217\u8868\u8fdb\u884c\u6f0f\u6d1e\u68c0\u6d4b\u3002\u683c\u5f0f\uff1ax.x.x.x\uff0c\u4ee5\u884c\u5206\u5272', u'value': u''}, u'Thread': {u'info': u'\u6700\u5927\u7ebf\u7a0b\u6570', u'help': u'\u6f0f\u6d1e\u626b\u63cf\u7684\u5e76\u53d1\u7ebf\u7a0b\u6570', u'value': u'200'}, u'Timeout': {u'info': u'\u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4', u'help': u'\u63d2\u4ef6\u626b\u63cf\u65f6\u4f1a\u4f7f\u7528\u6b64\u53c2\u6570\u4f5c\u4e3a\u8fde\u63a5\u8d85\u65f6',
u'value': u'10'}, u'Password_dic': {u'info': u'\u5f31\u53e3\u4ee4\u5b57\u5178', u'help': u'\u5f31\u53e3\u4ee4\u5217\u8868\uff0c\u90e8\u5206\u6f0f\u6d1e\u68c0\u6d4b\u63d2\u4ef6\u4f1a\u8c03\u7528\u6b64\u5217\u8868\u8fdb\u884c\u5f31\u53e3\u4ee4\u68c0\u6d4b\u3002\u683c\u5f0f\uff1a\u4ee5\u884c\u5206\u5272\uff0c\u4e0d\u652f\u6301\u4e2d\u6587\u5bc6\u7801\u3002', u'value': u'123456\nadmin\nroot\npassword\n123123\n123\n1\n{user}\n{user}{user}\n{user}1\n{user}123\n{user}2016\n{user}2015\n{user}!\n\npassword01!\nroot@dba\nP@ssw0rd!!\nqwa123\nroot#123\n12345678\ntest\n123qwe!@#\n123456789\n123321\n1314520\n666666\nwoaini\nfuckyou\n000000\n1234567890\n8888888\nqwerty\n1qaz2wsx\nabc123\nabc123456\n1q2w3e4r\n123qwe\n159357\np@ssw0rd\np@55w0rd\npassword!\np@ssw0rd!\npassword1\n123qwe!@#\n123QWE!@#\n!@#qwe123\n123qwe!@#$\n1qaz@WSX\nr00t\ntomcat\napache\nsystem'}}, 
u'_id': ObjectId('57ee1e2f5a0a69272eb86d2f'), 
u'type': u'vulscan'}
{u'config': 
{u'Masscan': {u'info': u'\u542f\u7528MASSCAN', u'help': u'\u53ef\u542f\u7528MASSCAN(\u81ea\u884c\u5b89\u88c5)\u4ee3\u66ff\u9ed8\u8ba4\u7684\u7aef\u53e3\u626b\u63cf\u65b9\u5f0f\uff0c\u8def\u5f84\u5730\u5740\u9700\u914d\u7f6e\u5168\u8def\u5f84\uff0cMASSCAN\u63a2\u6d4b\u7aef\u53e3\u8303\u56f4\u4e3a1-65535\u4e14\u5f3a\u5236\u8fdb\u884cICMP\u5b58\u6d3b\u68c0\u6d4b\uff0c\u8bf7\u6839\u636e\u7f51\u7edc\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e\u53d1\u5305\u901f\u7387\u3002', u'value': u'0|20000|/root/xunfeng/masscan/linux_64/masscan'}, u'Discern_cms': {u'info': u'cms\u8bc6\u522b\u89c4\u5219', u'help': u'\u7528\u4e8e\u8bc6\u522bWEB\u7684CMS\uff0c\u683c\u5f0f\uff1aCMS\u540d\u79f0|\u5224\u65ad\u65b9\u5f0f|\u5224\u65ad\u5bf9\u8c61|\u5224\u65ad\u6b63\u5219\u3002\u8bc6\u522b\u4fe1\u606f\u4fdd\u5b58\u4e8etag\u8bb0\u5f55\u4e2d\uff0c\u53ef\u4f7f\u7528tag:dedecms\u65b9\u5f0f\u8fdb\u884c\u641c\u7d22\u3002', u'value': u'phpmyadmin|file|index|pma_username\nphpmyadmin|file|/phpmyadmin|pma_username\nrouteros|file|index|RouterOS router configuration page<\\/title>\ndestoon|file|index|Powered by DESTOON\ndestoon|file|index|DESTOON B2B SYSTEM\nU-mail|file|index|Power(ed)? by[^>]+U-Mail\nWinmail|file|index|Winmail Mail Server\nCoremail|file|index|Coremail[^>]+<\\/title>\nWinmail|header|Set-Cookie|magicwinmail\nWinmail|file|index|Powered by Winmail Server\nTurboMail|file|index|Powered by TurboMail \nXmail|file|index|\\d{4}-\\d{4}\\s*webmail.idccenter.net\noutlook|header|X-OWA-Version|.*?\noutlook|file|index|Outlook Web (Access|App)\\s*(?=<\\/title>)\nAnymacro|header|Server|AnyWebApp\nAnymacro|file|index|sec.anymacro.com\nExtMail|file|index|powered by.*?Extmail\nLotus|file|index|IBM Lotus iNotes[^>]+(?=<\\/title>)\nLotus|file|index|iwaredir.nsf\nSquirrelMail|file|index|SquirrelMail Project Team\nSquirrelMail|header|Set-Cookie|SQMSESSID\nSquirrelMail|file|index|SquirrelMail\neqmail|file|index|Powered by EQMail\nTMailer|file|index|TMailer Collaboration Suite Web Client \nzimbra|header|Set-Cookie|ZM_TEST\nzimbra|file|index|zimbra[^>]+(?=<\\/title>)\nzimbra|file|index|Zimbra,?\\s*Inc. All rights reserved.\nbxemail|file|index|abc@bxemail.com\nHorde|file|index|<title>[^>]+?Horde\nHorde|file|index|\\/themes\\/graphics\\/horde-power1.png\nAtmail|file|index|powered by Atmail\nIlohaMail|header|Set-Cookie|IMAIL_TEST_COOKIE\nIlohaMail|header|SESS_KEY|.*?\nIlohaMail|file|index|powered by[^>]+IlohaMail\nfangmail|file|index|fangmail\nRoundcube|file|index|Roundcube\nmailbase|header|Set-Cookie|\\s*(mb_lang|mb_ui_type|mb_cus_type)\nmailbase|file|index|MailBase[^<>]+(?=<\\/title>)\nKXmail|file|index|Powered By\\s?<[^>]+>\\s?KXmail\ntongda|file|index|href="/images/tongda\\.ico"\ntrs_wcm|file|index|<title[^>]+>TRS WCM[^<]+\ntrs_wcm|file|index|href="/wcm/console/auth/reg_newuser.jsp"\nmymps|file|index|powered by[^&]+Mymps.*?\nmymps|file|index|wcontent="mymps\nmailgard|file|index|mailgard\\swebmail\ndiscuz|file|/robots.txt|discuz\ndiscuz|file|/robots.txt|discuz\nphpwind|file|/robots.txt|phpwind\nphpcms|file|/robots.txt|phpcms\nphp168|file|/robots.txt|php168\nqibosoft|file|/robots.txt|qibocms\nemlog|file|/robots.txt|robots.txt for emlog\nwecenter|file|/robots.txt|robots.txt for wecenter\nbbsmax|file|/robots.txt|bbsmax\nshopnc|file|/robots.txt|robots.txt for shopnc\nhdwike|file|/robots.txt|robots.txt for hdwiki\nphpdisk|file|/robots.txt|PHPDisk\ndedecms|file|/data/admin/ver.txt|20110812\ndedecms|file|/data/admin/ver.txt|20111111\ndedecms|file|/data/admin/ver.txt|20120709\ndedecms|file|/data/admin/ver.txt|20140814\ndedecms|file|/data/admin/verifies.txt|20081204\ndedecms|file|/data/admin/verifies.txt|20100324\ndedecms|file|/data/admin/verifies.txt|20100514\ndedecms|file|/data/admin/verifies.txt|20110216\nwordpress|file|/robots.txt|wordpress\nwordpress|file|/license.txt|wordpress\nwordpress|file|/readme.txt|wordpress\nwordpress|file|/help.txt|wordpress\nwordpress|file|/readme.html|wordpress\nwordpress|file|/wp-admin/css/colors-classic.css|wordpress\nwordpress|file|/wp-admin/js/media-upload.dev.js|wordpress\nwordpress|file|/wp-content/plugins/akismet/akismet.js|wordpress\nwordpress|file|/wp-content/themes/classic/rtl.css|wordpress\nwordpress|file|/wp-includes/css/buttons.css|wordpress\nz-blog|file|/license.txt|z-bolg\nz-blog|file|/SCRIPT/common.js|z-bolg\nsouthidc|file|/Ads/left.js|southidc\nsouthidc|file|/Css/Style.css|southidc\nsouthidc|file|/Images/ad.js|southidc\nsouthidc|file|/Script/Html.js|southidc\nsiteserver|file|/robots.txt|\\/SiteFiles\\/\nsiteserver|file|/SiteFiles/Inner/Register/script.js|stlUserRegister\nenableq|file|/License/index.php|EnableQ\nenableq|file|/robots.txt|robots.txt for EnableQ\ntrs_wcm|file|/wcm/app/login.jsp|TRS WCM\ntrs_wcm|file|/wcm/app/login.jsp|href="/wcm/console/auth/reg_newuser.jsp"\nmymps|file|/robots.txt|mymps\nigenus|file|/help/|igenus\nmailgard|file|/help/io_login.html|webmail'}, u'Thread': {u'info': u'\u6700\u5927\u7ebf\u7a0b\u6570', u'help': u'\u722c\u866b\u5f15\u64ce\u7684\u6700\u5927\u7ebf\u7a0b\u6570\u9650\u5236', u'value': u'200'}, u'Discern_lang': {u'info': u'\u4ee3\u7801\u8bed\u8a00\u8bc6\u522b\u89c4\u5219', u'help': u'\u7528\u4e8e\u8bc6\u522bWEB\u7684\u5f00\u53d1\u8bed\u8a00\uff0c\u8bc6\u522b\u4fe1\u606f\u4fdd\u5b58\u4e8etag\u8bb0\u5f55\u4e2d\uff0c\u53ef\u4f7f\u7528tag:php\u65b9\u5f0f\u8fdb\u884c\u641c\u7d22\u3002', u'value': u'php|header|Server|php\nphp|header|X-Powered-By|php\nphp|header|Set-Cookie|PHPSSIONID\njsp|header|Set-Cookie|JSESSIONID\nasp|header|Set-Cookie|ASPSESSION\naspx|header|Set-Cookie|ASP.NET_SessionId\naspx|header|X-AspNet-Version|version\naspx|file|index|]+name=\\"__VIEWSTATE\naspx|file|index|]*?href=(\'|")[^http].*?\\.aspx(\\?|\\1)\nasp|file|index|]*?href=(\'|")[^http].*?\\.asp(\\?|\\1)\nphp|file|index|]*?href=(\'|")[^http].*?\\.php(\\?|\\1)\njsp|file|index|]*?href=(\'|")[^http].*?\\.jsp(\\?|\\1)'}, u'Discern_con': {u'info': u'\u7ec4\u4ef6\u5bb9\u5668\u8bc6\u522b\u89c4\u5219', u'help': u'\u7528\u4e8e\u8bc6\u522bWEB\u7684\u5bb9\u5668\u3001\u4e2d\u95f4\u4ef6\u7b49\u7ec4\u4ef6\u4fe1\u606f\uff0c\u683c\u5f0f\uff1a\u7ec4\u4ef6\u540d\u79f0|\u5224\u65ad\u65b9\u5f0f|\u5224\u65ad\u5bf9\u8c61|\u5224\u65ad\u6b63\u5219\u3002\u8bc6\u522b\u4fe1\u606f\u4fdd\u5b58\u4e8etag\u8bb0\u5f55\u4e2d\uff0c\u53ef\u4f7f\u7528tag:tomcat\u65b9\u5f0f\u8fdb\u884c\u641c\u7d22\u3002', u'value': u'jboss|header|X-Powered-By|jboss\njboss|file|jboss.css|youcandoit.jpg\njboss|file|is_test|JBossWeb\naxis|file|axis2|axis2-web/images/axis_l.jpg\nweblogic|file|is_test|Hypertext Transfer Protocol\nweblogic|file|console/css/login.css|Login_GC_LoginPage_Bg.gif\nglassfish|file|resource/js/cj.js|glassfish.dev.java.net\nglassfish|header|server|GlassFish\njenkins|header|X-Jenkins|.*?\njenkins|file|index|\\[Jenkins\\]\nresin|header|server|resin\ntomcat|file|is_test|Apache Tomcat\napache|header|server|apache\niis|header|server|iis\njetty|header|server|jetty\nnginx|header|server|nginx\ncisco|header|server|cisco\ncouchdb|header|server|couchdb\ntplink|header|WWW-Authenticate|TP-LINK\nh3c|header|WWW-Authenticate|h3c\nh3c|file|index|/web/device/login\nhuawei|header|WWW-Authenticate|huawei\nnetgear|header|WWW-Authenticate|netgear\nhikvision|header|server|DNVRS-Webs\nhikvision|header|server|App-webs\nhikvision|header|server|DVRDVS-Webs\nhikvision|header|server|Hikvision-Webs\ntengine|header|server|Tengine'}, u'Scan_list': {u'info': u'\u7f51\u7edc\u8d44\u4ea7\u63a2\u6d4b\u5217\u8868(\u5fc5\u586b)', u'help': u'\u6307\u5b9a\u722c\u866b\u5f15\u64ce\u63a2\u6d4b\u8303\u56f4\uff0c\u683c\u5f0f\uff1a192.168.1.1-192.168.1.254(\u4fee\u6539\u4f1a\u7acb\u523b\u89e6\u53d1\u8d44\u4ea7\u626b\u63cf\u6536\u96c6)', u'value': u''}, u'Port_list': {u'info': u'\u7aef\u53e3\u63a2\u6d4b\u5217\u8868(TCP\u63a2\u6d4b)', u'help': u'\u9ed8\u8ba4\u63a2\u6d4b\u7aef\u53e3\u5217\u8868\uff0c\u53ef\u5f00\u542fICMP\uff0c\u5f00\u542f\u540e\u53ea\u5bf9\u5b58\u6d3b\u7684IP\u5730\u5740\u8fdb\u884c\u63a2\u6d4b', u'value': u'1|21\n22\n23\n25\n53\n80\n110\n139\n143\n389\n443\n445\n465\n873\n993\n995\n1080\n1311\n1723\n1433\n1521\n3000\n3001\n3002\n3306\n3389\n3690\n4000\n5432\n5900\n6379\n7001\n8000\n8001\n8080\n8081\n8888\n9200\n9300\n9080\n9090\n9999\n11211\n27017'}, u'Timeout': {u'info': u'\u8fde\u63a5\u8d85\u65f6\u65f6\u95f4(TCP)', u'help': u'WEB\u8bf7\u6c42\u7684\u8d85\u65f6\u65f6\u95f4\uff0csocket\u8fde\u63a5\u8d85\u65f6\u4e3a\u503c\u7684\u4e00\u534a\u3002', u'value': u'8'}, u'Discern_server': {u'info': u'\u670d\u52a1\u7c7b\u578b\u8bc6\u522b\u89c4\u5219', u'help': u'\u7528\u4e8e\u8bc6\u522b\u5f00\u653e\u7aef\u53e3\u4e0a\u6240\u8fd0\u884c\u7684\u670d\u52a1\u4fe1\u606f\uff0c\u683c\u5f0f:\u670d\u52a1\u540d\u79f0|\u7aef\u53e3\u53f7|\u5339\u914d\u6a21\u5f0f|\u5339\u914d\u6b63\u5219\uff0c\u7ed3\u679c\u4ee5\u6b63\u5219\u5339\u914d\u4e3a\u4f18\u5148\uff0c\u65e0\u6b63\u5219\u5185\u5bb9\u65f6\u4f7f\u7528\u7aef\u53e3\u53f7\u8fdb\u884c\u9ed8\u8ba4\u5339\u914d\uff0c\u518d\u65e0\u7ed3\u679c\u65f6\u5373\u4e3b\u52a8\u53d1\u9001\u63a2\u6d4b\u5305\u8fdb\u884c\u8bc6\u522b\uff0c\u8bc6\u522b\u7ed3\u679c\u4fdd\u5b58\u4e8eserver\u8bb0\u5f55\u4e2d\uff0c\u53ef\u4f7f\u7528server:ftp\u65b9\u5f0f\u8fdb\u884c\u641c\u7d22', u'value': u'ftp|21|banner|^220.*?ftp|^220-|^220 Service|^220 FileZilla\nssh|22|banner|^ssh-\ntelnet|23|banner|^\\xff[\\xfa-\\xfe]|^\\x54\\x65\\x6c|Telnet\nsmtp|25|banner|^220.*?smtp\ndns|53|default|\npop3|110|banner|\\+OK.*?pop3\nnetbios|139|default|\nimap|143|banner|^\\* OK.*?imap\nldap|389|default|\nsmb|445|default|\nsmtps|465|default|\nrsync|873|banner|^@RSYNCD|^@ERROR\nimaps|993|default|\npop3|995|banner|\\+OK\nproxy|1080|\\x05\\x01\\x00\\x01|^\\x05\\x00\npptp|1723|default|\nmssql|1433|\\x12\\x01\\x00\\x34\\x00\\x00\\x00\\x00\\x00\\x00\\x15\\x00\\x06\\x01\\x00\\x1b\\x00\\x01\\x02\\x00\\x1c\\x00\\x0c\\x03\\x00\\x28\\x00\\x04\\xff\\x08\\x00\\x01\\x55\\x00\\x00\\x00\\x4d\\x53\\x53\\x51\\x4c\\x53\\x65\\x72\\x76\\x65\\x72\\x00\\x48\\x0f\\x00\\x00|^\\x04\\x01\noracle|1521|\\x00\\x3a\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x39\\x01\\x2c\\x00\\x00\\x08\\x00\\x7f\\xff\\xc6\\x0e\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x3a\\x00\\x00\\x08\\x00\\x41\\x41\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00|\\x00Y\\x00\nmysql|3306|banner|^.\\0\\0\\0.*?mysql|^.\\0\\0\\0\\n|.*?MariaDB server\nrdp|3389|\\x03\\x00\\x00\\x13\\x0E\\xE0\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x08\\x00\\x03\\x00\\x00\\x00|\\x03\\x00\\x00\\x13\nsvn|3690|default|\npostgresql|5432|\\x00\\x00\\x00\\x54\\x00\\x03\\x00\\x00\\x75\\x73\\x65\\x72\\x00\\x70\\x6f\\x73\\x74\\x67\\x72\\x65\\x73\\x00\\x64\\x61\\x74\\x61\\x62\\x61\\x73\\x65\\x00\\x70\\x6f\\x73\\x74\\x67\\x72\\x65\\x73\\x00\\x61\\x70\\x70\\x6c\\x69\\x63\\x61\\x74\\x69\\x6f\\x6e\\x5f\\x6e\\x61\\x6d\\x65\\x00\\x70\\x73\\x71\\x6c\\x00\\x63\\x6c\\x69\\x65\\x6e\\x74\\x5f\\x65\\x6e\\x63\\x6f\\x64\\x69\\x6e\\x67\\x00\\x55\\x54\\x46\\x38\\x00\\x00|^R\\x00\\x00\\x00\nvnc|5900|banner|^RFB\nredis|6379|info\\r\\n|redis\nelasticsearch|9200|GET /_cat HTTP/1.1\\r\\n\\r\\n|/_cat/master\nmemcache|11211|\\x80\\x0b\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00|^\\x81\\x0b\nmongodb|27017|\\x00\\x00\\x00\\xa7A\\x00\\x00\\x00\\x00\\x00\\x00\\xd4\\x07\\x00\\x00\\x00\\x00\\x00\\x00admin.$cmd\\x00\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\x13\\x00\\x00\\x00\\x10ismaster\\x00\\x01\\x00\\x00\\x00\\x00|ismaster\nzookeeper|2181|stat|Zookeeper version'}, u'White_list': {u'info': u'\u8d44\u4ea7\u53d1\u73b0\u767d\u540d\u5355', u'help': u'\u4e0d\u5bf9\u767d\u540d\u5355\u5185\u7684IP\u5217\u8868\u8fdb\u884c\u8d44\u4ea7\u53d1\u73b0\u3002\u683c\u5f0f\uff1ax.x.x.x\uff0c\u4ee5\u884c\u5206\u5272', u'value': u''}, u'Cycle': {u'info': u'\u8d44\u4ea7\u63a2\u6d4b\u5468\u671f', u'help': u'\u8bbe\u7f6e\u8d44\u4ea7\u63a2\u6d4b\u7684\u626b\u63cf\u5468\u671f\uff0c\u683c\u5f0f\uff1a\u5929\u6570|\u5c0f\u65f6\uff0c\u4f8b\u5982 5|16\uff0c\u5373\u6bcf5\u5929\u768416\u70b9\u5f00\u59cb\u8fdb\u884c\u626b\u63cf\u3002', u'value': u'1|9'}}, 
u'_id':ObjectId('580d76590706aabc1a13ccfb'), 
u'type': u'nascan'}

2、Info(扫描)表探索

>>> na_db.get_collection("Info")
Collection(Database(MongoClient(host=['127.0.0.1:65521'], document_class=dict, tz_aware=False, connect=True), u'xunfeng'), u'Info')
>>> a=na_db.get_collection("Info")
>>> a.find_one()
{u'webinfo': {
u'tag': [], 
u'title': u'\u56fd\u7f8e\u670d\u52a1\u4e2d\u5fc3'}, 
u'ip': u'124.250.81.101', 
u'hostname': None, 
u'server': u'web', 
u'time': datetime.datetime(2018, 8, 6, 18, 8, 59, 606000), 
u'_id': ObjectId('5b681e382c5cb8433ced4917'), 
u'banner': u'Date: Mon, 06 Aug 2018 10:08:59 GMT\r\nContent-Type: text/html;charset=UTF-8\r\nTransfer-Encoding: chunked\r\nConnection: close\r\nServer: GOMEWS\r\nVary: Accept-Encoding\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\u56fd\u7f8e\u670d\u52a1\u4e2d\u5fc3\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\t
\r\n \r\n
\r\n\t\t\t\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\t\t \r\n\t\t\t\r\n \t
\r\n
\r\n
\r\n \t
\r\n \t\t

\u7126\u70b9\u95ee\u9898

\r\n
\r\n \t\r\n \u641c\u7d22\r\n
\r\n
\r\n \r\n
\r\n \t
    \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \t\r\n\t\t\t\r\n \r\n
\r\n \r\n
\r\n \r\n \t
\r\n \t\r\n \t\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

lu***[email protected]

\r\n
\r\n \r\n
\r\n \t\r\n
\r\n \r\n \r\n
\r\n
\r\n \t\r\n \t
\r\n \t\r\n \t\t\t \u5728\u7ebf\u5ba2\u670d\r\n \r\n

\u6bcf\u5929 9:00-24:00 \u4e3a\u60a8\u670d\u52a1

\r\n
\r\n \r\n
\r\n \t
\r\n \t\t\t \u5fae\u4fe1\u5ba2\u670d\r\n
\r\n \t\r\n

\u626b\u4e00\u626b \u5f00\u59cb\u54a8\u8be2

\r\n \r\n
\r\n
\r\n

\u6bcf\u5929 9:00-24:00 \u4e3a\u60a8\u670d\u52a1

\r\n
\r\n \r\n
\r\n \t\r\n \t\t\t \u5ba2\u670d\u90ae\u7bb1\r\n \r\n

[email protected]

\r\n

\u6bcf\u59299:00-18:00 \u4e3a\u60a8\u670d\u52a1

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

\u95e8\u5e97\u670d\u52a1\r\n \u56fd\u7f8e\u95e8\u5e97\u5168\u56fd\u5171\u8ba12000\u4f59\u5bb6\r\n

\r\n
\r\n \r\n \r\n

\u7528\u6237\u4f53\u9a8c\r\n \u53c2\u4e0e\u7528\u6237\u4f53\u9a8c\u6539\u8fdb\u8ba1\u5212\r\n \u7528\u6237\u53cd\u9988\r\n

\r\n
\r\n
\r\n \r\n \r\n

\u516c\u4f17\u53f7

\r\n
\r\n
\r\n \r\n \r\n

\u624b\u673a\u7ad9\u70b9

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

\u626b\u63cf\u4e0b\u8f7d\u5ba2\u6237\u7aef

\r\n
\r\n
\r\n \r\n

\u672c\u516c\u53f8\u6e38\u620f\u4ea7\u54c1\u9002\u540818\u5c81\u4ee5\u4e0a\u6210\u5e74\u4eba\u4f7f\u7528  \u8fdd\u6cd5\u548c\u4e0d\u826f\u4fe1\u606f\u4e3e\u62a5\u7535\u8bdd\uff1a021-60766055  \u4e92\u8054\u7f51\u836f\u54c1\u4fe1\u606f\u670d\u52a1\u8d44\u683c\u8bc1\u7f16\u53f7\uff08\u4eac\uff09-\u7ecf\u8425\u6027-2018-0025

\r\n

\u56fd\u7f8e\u5728\u7ebf\u7535\u5b50\u5546\u52a1\u6709\u9650\u516c\u53f8  \u529e\u516c\u5730\u5740:\u4e0a\u6d77\u5e02\u5609\u5b9a\u533a\u6caa\u5b9c\u516c\u8def3163-3199\u53f7\u4e00\u697cA\u533a  \u5ba2\u670d\u7535\u8bdd:4008113333  \u7ecf\u8425\u8bc1\u7167

\r\n

\xa92000-2018  \u56fd\u7f8e\u5728\u7ebf\u7535\u5b50\u5546\u52a1\u6709\u9650\u516c\u53f8\u7248\u6743\u6240\u6709  \u4eac\u516c\u5b89\u7f51\u590711010502027062  \u6caaICP\u590711009419\u53f7  \u6caaB2-20120004\u53f7

\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n moren\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\u6211\u7684\u6536\u85cf

\r\n
    \r\n
  • \u5546\u54c1
  • \r\n
  • \u5e97\u94fa
  • \r\n
  • \u54c1\u724c
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n', u'port': 80}

3、views模块探索

View.py

巡风探索_第2张图片

你可能感兴趣的:(开源工具学习)