【Python】ACL限制结果检测
最近帮客户做ACL的限制检测,也就是客户对一些站点做了acl限制,只有省内或内网可以访问,然后让我
去验证acl做的是否正确,简单写了个粗略的脚本,分享下,不足之处日后改进(如多线程等),脚本如下:
#coding:utf-8 import urllib import urllib2 import cookielib import json url="http://tool.chinaz.com/iframe.ashx?t=ping&callback=jQuery111302505380630585172_1523093264943" ua_headers={'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36'} with open('url.txt','r') as fr: for test_url in fr.readlines(): data={'host':test_url.replace('http:\//|https:\//|\n',''),'guid':'fce17d47-07c3-4315-892b-acd76d918ada', 'ishost':'1','encode':'oOvARdK8PTJ1UYZo03Fgtqcq6|fiow6I','checktype':'1' } try: data_encode=urllib.urlencode(data) cj=cookielib.CookieJar() opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) req=urllib2.Request(url,data_encode,ua_headers) resp=opener.open(req).read() if 'httpstate:200' in resp: print '可以访问:'+'\t'+test_url.strip('\n') with open('url_new.txt','a') as fw: fw.write(test_url) else: print '不可以访问:'+'\t'+test_url.strip('\n') except Exception,e: print e
简单贴个图
用起来很简单,将要检测的站点,如http://www.baidu.com保存到一个记事本url.txt中,然后执行脚本即可,脚本
执行完成后会在当前目录下生成一个url_new.txt文本,该文本保存可以访问的站点,验证了一些站点,暂时未出现
误报,之后遇到了再改进吧。