python判断合法IP并区分内网和外网地址

import  re

def legit_ip(_ip):    compile_ip = re.compile(‘^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$‘)    if compile_ip.match(_ip):        return True    else:        return False

def ip_intr_extr(huanggr):    intr = [10,172,192]    intranet_ips = []    extranet_ips = []    for i in huanggr:        for ii in intr:            _ip = re.match( r‘%s.*‘ %(ii), i)            if _ip:                intranet_ips.append(_ip.group())    extranet_ips = list(set(huanggr)-set(intranet_ips))    return intranet_ips,extranet_ipsif __name__ == ‘__main__‘:    _legit_ip = []    _input = [‘10.12.16.224‘, ‘10.256.8.56‘, ‘192.168.257.1‘, ‘172.56.25.2‘, ‘183.18.46.53‘, ‘86.17.46.12‘,              ‘213.49.56.38‘]    for _ip in _input:        if legit_ip(_ip):            _legit_ip.append(_ip)    print(ip_intr_extr(_legit_ip)[0])    print(ip_intr_extr(_legit_ip)[1])

原文地址:https://www.cnblogs.com/hmysql/p/8904552.html

时间: 2024-10-17 09:24:16

python判断合法IP并区分内网和外网地址的相关文章

如何快速判断IP是内网还是外网(转)

TCP/IP协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连.如果要与外部通信,那么必须通过网关与外部通信,这里使用了NAT, NAPT技术就是用来保证通信的代理机制. 提示:上述IP地址

C#获取内网和外网IP

写了个小客户端,里面用到了获取内网和外网的IP地址,代码如下: // InnerIP var ipHost = Dns.Resolve(Dns.GetHostName()); var ipaddress = ipHost.AddressList[0]; innerIP = ipaddress.ToString(); /// <summary> /// 获得客户端外网IP地址 /// </summary> /// <returns>IP地址</returns>

如何获取本机内网和外网IP(windows+linux)

1:场景描述 在做Netty相关项目的时候,我们往往需要绑定本机的IP和端口号,如果我们把它写在配置文件中,那么我们每次换电脑运行或者部署到其他环境时候都需要修改配置文件.这样就会比较麻烦,如果我们把它做成智能的获取本机的IP,这样我们的代码的可移植性就提高了.下面就介绍一种在windows和linux下面可以智能获取我们本机的局域网IP和外网IP的方法,不妥之处还请大家多多指教. 2:解决方法以及代码 首先贴上获取IP的工具类 /** * Copyright (C) 2015 Raxtone

树莓派实战1:查询自己内网,外网ip

这4个实战合起来的完成效果就是:让树莓派每小时把自己ip地址通过邮件自动地发送到自己邮箱 实战2 :http://blog.csdn.net/make_app/article/details/47305179 实战3 :http://blog.csdn.net/make_app/article/details/47305337 实战4:http://blog.csdn.net/make_app/article/details/47305387 0.系统环境 树莓派a+,系统wheezy 输入un

H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器

H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 这个问题很经典的,防火墙上显然配置了NAT的方式进行了转换,但是内部用户在访问的

路由表配置及多网卡同时使用内网和外网

CMD命令:route 子命令1:route print 查看路由表 子命令2:route add 添加静态路由 子命令3:route delete 删除静态路由 查看 使用子命令1结果如下图 (注:红框为动态路由[由系统管理,无需要人工管理],绿框为静态路由[可由人工自由增删]) 可以看出路由表由以下几部分组成:网络地址.网络掩码.网关地址.跃点数,这里我们主要关心网络地址和网关地址,是指本机访问的目标IP时使用的网关(也就是网卡),因此我们需要配置XXX地址使用XXX网关即可达到我们的目的.

(端口映射原理)内网和外网之间的通信

首先解释一下"内网"与"外网"的概念: 内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的.但两个局域网内的内网IP可以有相同的. 外网:即互联网,局域网通过一台服务器或是一个路由器对外连接的网络,这个IP地址是惟一的.也就是说内网里所有的计算机都是连接到这一个外网IP上,通过这一个外网IP对外进行交换数据的.也就是说,一个局域网里所有电脑的内网IP是互不相同的,但共用一个外网IP.(用ipconfig/all查

关于内网和外网的理解

公司内分内网和外网.内网不能联上互联网,外网可以. 内外网其实都是通过猫进行相互间的通信的,内网外网在一个公司都可以看成是一个局域网,只是在交换机内用语句进行了不同配置, 从而导致部分区域只能上小的网(即是小的局域网),另外一部分区域能上外网. 为了便于寻址和层次化的构造网络,IP地址被分为A.B.C.D.E五类, 商业应用中只用到A.B.C三类. A类网络的IP地址范围为1.0.0.1-127.255.255.254:不难算出,A类地址允许有126个网段,每个网络大约允许有1670万台主机,通

BAT&VBS脚本:Windows连接VPN后同时登陆内网和外网

今天连公司的VPN,发现连上去之后就登陆不了外网了,上网查了下,再加上与同事的交流,发现连接VPN后同时登陆外网需要下面几个步骤: (我的环境:Windows 7 旗舰版 Service Pack 1) 1)建立好VPN,连接VPN 2)进入到VPN属性页面 3)找到网络选项卡,选中"Internet版本协议4(TCP/IPv4)",点击下方的"属性"按钮 4)在"Internet版本协议4(TCP/IPv4)"的属性界面中,点击"高级