【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文本,该文本保存可以访问的站点,验证了一些站点,暂时未出现

误报,之后遇到了再改进吧。

posted @ 2018-04-07 18:30  Carrypan  阅读(971)  评论(0编辑  收藏  举报