python学习-判断是否是IP地址】的更多相关文章

1.使用正则表达式 首先分析IP地址的组成,十进制的合法IP地址由32位数字组成 使用.分割开 每个分组可出现的情况: 第一个分组: 1-9:一位数字 10-99:两位数字 100-199:三位数字且以1开头 200-249 250-255 其余分组: 0-9 10-99 100-199 200-249 250-255 #coding=utf8 import IPy,re f1=open(r'D:\sectool\venv\iplist.txt',mode='r') def is_ip(ipAd…
判断是否是私网IP地址 私网IP地址范围如下: 192.168.0.0-192.168.255.255 172.16.0.0-172.31.255.255 10.0.0.0-10.255.255.255 我们使用正则去进行匹配: 根据上一篇文章判断是否是IP地址,此处只要加上三个主要的匹配条件问题就迎刃而解 ^((192\.168)|(10\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d))|(172\.(1[6-9]|2[0-9]|3[0-1])))\.(1\d{2}…
python 判断两个ip地址是否属于同一子网 """ 判断两个IP是否属于同一子网, 需要判断网络地址是否相同 网络地址:IP地址的二进制与子网掩码的二进制地址逻辑"与"得到 主机地址: IP地址的二进制与子网掩码的二进制取反地址逻辑"与"得到 """ class IpAddrConverter(object): def __init__(self, ip_addr, net_mask): self.ip…
2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. IP地址和子网划分学习笔记相关篇章: 1.IP地址和子网划分学习笔记之<预备知识:进制计数> 2.IP地址和子网划分学习笔记之<IP地址详解> 3.IP地址和子网划分学习笔记之<子网掩码详解> 4.IP地址和子网划分学习笔记之<子网划分详解> 5.IP地址和子网…
 要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果一网络号,如果网络号相同,就在同一子网,否则,不在同一子网. 例:假定选择了子网掩码255.255.254.0,现在分别将上述两个IP地址分别与掩码做与运算,如下所示:  www.2cto.com   211.95.165.24 11010011 01011111 10100101 00011000 255.255.254.0 11111111 11111111 111111110 00000000   …
个人理解,欢迎指正. 一.要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果-->网络号,如果网络号相同, 就在同一子网,否则,不在同一子网. 例:假定选择了子网掩码255.255.254.0,把IP地址和子网掩码转换为二进制,分别将上述两个IP地址分别与掩码做与运算,如下所示: 211.95.165.24 11010011 01011111 10100101 00011000 255.255.254.0 11111111 11111111 1111111…
准备工作 要关联IP与物理位置,我们需要有一个包含这样对应关系的数据库. 我们可以使用开源数据库GeoLiteCity,它能够较为准确地把IP地址与所在城市关联起来 下载地址:http://dev.maxmind.com/geoip/legacy/geolite/ 下载之后我们解压:xz -d GeoLiteCity.dat.xz,如:/My/lib/ip/GeoLiteCity.dat 安装pygeoip库.这个库用于对GeoLiteCity数据库的查询 代码: #!/usr/bin/pyth…
一.IPv4地址 IPv4地址为32bit地址,分为5类(ABCDE,这里不讨论特殊用途的D和E类). 通常我们八位一看,写成4个部分,例如:00000000 00000000 00000000 00000000,用点分十进制法就写成0.0.0.0: 11111111 11111111 11111111 11111111,可写成255.255.255.255. 下面统一用紫色标注IP地址中的网络部分,蓝色表示主机部分.下面的说法中基本上“网络段=网络号=IP地址的网络部分”,就不一个个修改了:)…
现在有一道题目,要求利用python中re模块来匹配ip地址,我们应如何着手? 首先能想到的是ip地址是数字,正则表达式是如何匹配数字的呢? \d或[0-9] 对于这个问题,不要一下子上来就写匹配模式,应该一步步分解,把复杂的问题简单化 比如ip地址,我们可以总结一下规律 1. 它是一个字符串 2. 字符串内部是由4个1-3位的数字和3个.组成 3. 数字的范围是0-255 接下来,我们先试一下匹配第1个数字 第一步:尝试匹配192.168.100.123中的192 >>> import…
java中我们会常用一些判断如IP.电子邮箱.电话号码的是不是符合,那么我们怎么来判断呢,答案就是利用正则表达式来判断了,因为本人对正则表达式没有太深的研究,所有感兴趣的朋友可以自行百度.我这就给基本的判断,废话不多说,下面就是上代码. IP地址的判断方法 public static boolean orIp(String ip) { if (ip == null || "".equals(ip)) return false; String regex = "^(1\\d{2…
一个IP地址有三种写法: 第一种,单个IP,如192.168.55.28 第二种,IP/子网掩码,如192.168.55.28/255.255.255.0 第三种,IP/子网掩码长度,如192.168.55.28/24 对于第一种单个IP的形式,其实际相当于192.168.55.28/32或192.168.55.28/255.255.255.255. 下面说明如何判断两个IP是否属于同一子网. 这里定义两个方法,第一种方法通过IP和子网掩码计算出其网络号,第二种方法通过IP和子网掩码长度计算出其…
IPv4地址: 我们知道在网络层(TCP/IP体系结构的网际互联层),最重要的一个协议就是IP协议,现在正处于IPv4和IPv6的过渡时期,但目前来说,IPv4仍为主流,所以主要讲Ipv4. IP地址基本格式: 计算机内部IP地址的格式是32位的二进制数表示的,为了让人们看起来方便,通常采用点分十进制来表示IP地址,如192.168.1.25,其中用来分隔各段的那个点,也是为了方便人们阅读加上的,计算机内部并没有这个点. 公网IP地址和私网IP地址: 公网Ip地址是指可以在广域网上直接使用,直接…
转载链接:https://blog.csdn.net/u013042248/article/details/53165508 0x01 代码思路: 利用二进制遍历: 1.将IP地址分割,每一块转换为8位二进制代码 2.将32位二进制代码转化为十进制,结束地址的十进制减去开地址的十进制,就可以得到之间的IP个数 3.从开始地址起,对其十进制数依次加一,再将其转化为二进制,即可得到之间某一IP的二进制代码 4.将这一IP的二进制按8位分割,每8位转化为一个十进制数,加上”.”,即可得到最终的IP 0…
获取计算机名 # 获取计算机名,常用的方法有三种 import os import socket # method one name = socket.gethostname() print(name) # DESKTOP-S3BGVQN # method two name = os.popen("hostname").read() print(name) # DESKTOP-S3BGVQN # method three name = os.environ.get("COMP…
#encoding=utf-8 #参考csdn某篇文章 import socket def get_host_ip(): """ 查询本机ip地址 :return: ip """ try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) ip = s.getsockname()[0] finally: s.close() return…
import socket # 查看当前主机名 print('当前主机名称为 : ' + socket.gethostname()) # 根据主机名称获取当前IP print('当前主机的IP为: ' + socket.gethostbyname(socket.gethostname())) # Mac下上述方法均返回127.0.0.1 # 通过使用socket中的getaddrinfo中的函数获取真真的IP # 下方代码为获取当前主机IPV4 和IPV6的所有IP地址(所有系统均通用) add…
#encoding:utf-8 import socket import requests import json ''' 使用python结合zabbix判断dnspod域名解析是否正确 服务器分国内和国外不同的组(分别部署了一套环境,分配给客户的时候是同一套域名) 拿c.chinasoft.com举例: 在dnspod中配置了c.chinasoft.com指向的时候分为国内和国外(客户在国内时指向国内服务器, 在国外时指向国外服务器) 并且做了d监控(如果解析的地址宕机会自动切换到备用地址)…
def ip2num(ip):#ip to int num lp = [int(x) for x in ip.split('.')] return lp[0] << 24 | lp[1] << 16 | lp[2] << 8 | lp[3] def num2ip(num):# int num to ip ip = ['', '', '', ''] ip[3] = (num & 0xff) ip[2] = (num & 0xff00) >> 8…
首先详细教程已经有前辈做了详细的安装和使用介绍,本人只是参照学习和记录下自己的实际操做. 本文参考档:http://www.cnblogs.com/mchina/archive/2012/12/24/2831220.html 介绍 nali,名字取自中文“哪里”的拼音.nali包含一组命令行程序,其主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库QQWry.Dat).例如74.125.128.104会变成74.125.128.104[美国 加利福尼亚州山景市谷歌公…
python2.7 #!/usr/bin/env python # Python Network Programming Cookbook -- Chapter - # This program is optimized for Python 2.7. # It may run on any other version with/without modifications. import socket def print_machine_info(): host_name = socket.ge…
def fetch(ip): url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip result = [] try: response = urllib.urlopen(url).read() jsondata = json.loads(response) if jsondata[u'code'] == 0: result.append(jsondata[u'data'][u'ip'].encode('utf-8')) resul…
static bool IsIP(QString IP) { QRegExp RegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"); return RegExp.exactMatch(IP); }…
[root@jumpserver ~]# curl https://ip.cn当前 IP: 162.14.210.16 来自: 河南省郑州市 xx网络…
import os, socket def public_ip(): try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(()) ip = s.getsockname()[] finally: s.close() print ip return ip if __name__ == "__main__": public_ip()…
t = '19:16:30' mt = re.match(r'^(0[0-9]|1[0-9]|2[0-3]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$', t) print mt.groups() ip = '255.105.25.55' ipm = re.match(r'^([1-9]?\d|1\d\d|2[0-4]\d…
文本示例: ts=2019-07-10T06:43:06523942Z pid=1875 tid=6320 version=e73c536 proto=http id=5a61a613e395f8832a372e4c1804ce10 http_url="/dev/ng.git/git-upload-pack" ip=10.10.5.9 xff_ip=10.10.5.9 user=wangdongdong repo=dev/ng repo_public=0 cmd=git-upload-…
import datetime   d1 = datetime.date(2015,10,7) d2 = datetime.date(2015,8,15) print((d1-d2).days)…
import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is int" if isinstance(aaa,int): print "the type of aaa is int" bbb = 'hello' print type(bbb) if type(bbb) is types.StringType: print "the t…
2018-05-04 16:21:21   在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容,才能很好的理解和划分子网. IP地址和子网划分学习笔记相关篇章: 1.IP地址和子网划分学习笔记之<预备知识:进制计数> 2.IP地址和子网划分学习笔记之<IP地址详解> 3.IP地址和子网划分学习笔记之<子网掩码详解> 4.IP地址和子网划分学习笔记之<子网划分详…
要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果一网络号,如果网络号相同,就在同一子网,否则,不在同一子网. 例:假定选择了子网掩码255.255.254.0,现在分别将上述两个IP地址分别与掩码做与运算,如下所示:  211.95.165.24 11010011 01011111 10100101 00011000 255.255.254.0 11111111 11111111 111111110 00000000 与的结果是: 11010011 01…