Ejemplo n.º 1
0
def do_filter_ip(ip_from, ip_to):
    #ip_from = request.forms.get('ip_from')
    #ip_to = request.forms.get('ip_to')
    json_data=get_data()
    response.content_type = 'application/json'

    #filter ip_range and return json data
    if ip_from != '' and ip_to != '':
        if ip_num.ip2num(ip_from)>ip_num.ip2num(ip_to):
            ip_from,ip_to=ip_to,ip_from
        if ip_from == ip_to:
            content={}
            content[ip_from]={}
            content[ip_from]['port']=[]
            for i in json_data['ips']:
                if i['ip']==ip_from:
                    content[ip_from]['port'].extend(i['port'])
            return json.dumps(content,
                    sort_keys=True, indent=2, separators=(',', ': '))

        ips_content={}
        ips_content['data']={}
        for ip in range(ip_num.ip2num(ip_from), ip_num.ip2num(ip_to)+1):
            content={}
            for i in json_data['ips']:
                if i['ip']==ip_num.num2ip(ip):
                    content[i['ip']]={}
                    content[i['ip']]['port']=[]
                    content[i['ip']]['port'].extend(i['port'])

                    ips_content['data']=dict(ips_content['data'], **content)

        return json.dumps(ips_content,
                sort_keys=True, indent=2, separators=(',', ': '))
    return "Wrong Input"
Ejemplo n.º 2
0
def do_white_list(ips_tmp, ports_tmp):
    #ips_tmp=request.forms.get('ips')
    #ports_tmp=request.forms.get('ports')
    json_data=get_data()
    response.content_type = 'application/json'
    white_list={}
    white_list['data']={}
    if ips_tmp!='' and ports_tmp!='':
        ips=ips_tmp.split('-')
        ports=[int(i) for i in ports_tmp.split('|')]
        if len(ips)==1:
            if ip_num.isIP(ips[0]) == False:
                return 'Wrong IP'
            content={}
            content['ip']=ips[0]
            content['port']=[]
            for i in json_data['ips']:
                if i['ip']==ips[0]:
                    for j in i['port']:
                        if j not in ports:
                            content['port'].append(j)
            return json.dumps(content,
                    sort_keys=True, indent=2, separators=(',', ': '))

        if False == (ip_num.isIP(ips[0]) and ip_num.isIP(ips[1])):
            return 'Wrong IP'
        if ip_num.ip2num(ips[0])>ip_num.ip2num(ips[1]):
            ips[0],ips[1]=ips[1],ips[0]
        for ip in range(ip_num.ip2num(ips[0]),ip_num.ip2num(ips[1]) + 1):
            for i in json_data['ips']:
                if i['ip']==ip_num.num2ip(ip):
                    content={}
                    content[i['ip']]={}
                    content[i['ip']]['port']=[]
                    for j in i['port']:
                        if j not in ports:
                            content[i['ip']]['port'].append(j)
                    white_list['data']=dict(white_list['data'], **content)
        return json.dumps(white_list,
                sort_keys=True, indent=2, separators=(',', ': '))
    return "Wrong Input"