使用Python判断IP地址合法性的方法实例
一、使用方法和执行效果请看图:
二、python实现代码:
代码如下:
[root@yang python]# vi check_ip.py
#!/usr/bin/python
import os,sys
def check_ip(ipaddr):
import sys
addr=ipaddr.strip().split('.') #切割IP地址为一个列表
#print addr
if len(addr) != 4: #切割后列表必须有4个参数
print "check ip address failed!"
sys.exit()
for i in range(4):
try:
addr[i]=int(addr[i]) #每个参数必须为数字,否则校验失败
except:
print "check ip address failed!"
sys.exit()
if addr[i]<=255 and addr[i]>=0: #每个参数值必须在0-255之间
pass
else:
print "check ip address failed!"
sys.exit()
i+=1
else:
print "check ip address success!"
if len(sys.argv)!=2: #传参加本身长度必须为2
print "Example: %s 10.0.0.1 "%sys.argv[0]
sys.exit()
else:
check_ip(sys.argv[1]) #满足条件调用校验IP函数
相关推荐
-
python实现根据主机名字获得所有ip地址的方法
本文实例讲述了python实现根据主机名字获得所有ip地址的方法.分享给大家供大家参考.具体实现方法如下: # -*- coding: utf-8 -*- import sys, socket result = socket.getaddrinfo('www.google.com', None, 0, socket.SOCK_STREAM) counter = 0 for item in result: print "%-2d: %s" % (counter, item[4]) cou
-
python 获取本机ip地址的两个方法
第一种: 复制代码 代码如下: import socket import fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:24]
-
尝试使用Python多线程抓取代理服务器IP地址的示例
这里以抓取 http://www.proxy.com.ru 站点的代理服务器为例,代码如下: #!/usr/bin/env python #coding:utf-8 import urllib2 import re import threading import time import MySQLdb rawProxyList = [] checkedProxyList = [] #抓取代理网站 targets = [] for i in xrange(1,42): target = r"htt
-
Python基于scapy实现修改IP发送请求的方法示例
本文实例讲述了Python基于scapy实现修改IP发送请求的方法.分享给大家供大家参考,具体如下: 今天同事想测试WAF的页面统计功能,所以需要模拟多个IP向多个域名发送请求,也就是需要修改源IP地址.这个如果使用socket库就比较麻烦了, 需要使用raw socket,相当麻烦.还好咱有scapy,轻松搞定. DOMAIN是我随机构造的域名库,SOURCE也是随机构造的源IP地址. #!/usr/bin/env python #-*-encoding:UTF-8-*- from scapy
-
python通过scapy获取局域网所有主机mac地址示例
python通过scapy获取局域网所有主机mac地址 复制代码 代码如下: #!/usr/bin/env python# -*- coding: utf-8 -*-from scapy.all import srp,Ether,ARP,confipscan='192.168.1.1/24'try: ans,unans = srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=ipscan),timeout=2,verbose=False)exc
-
python使用Flask框架获取用户IP地址的方法
本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最基本的Flask使用方法. python代码如下: from flask import Flask, render_template, request # Initialize the Flask application app = Flask(__name__) # Default route,
-
python实现根据ip地址反向查找主机名称的方法
本文实例讲述了python实现根据ip地址反向查找主机名称的方法.分享给大家供大家参考.具体如下: import sys, socket try: result = socket.gethostbyaddr("66.249.71.15") print "Primary hostname:" print " " + result[0] # Display the list of available addresses #that is also r
-
python实现查询IP地址所在地
使方法一.用IP138数据库查询域名或IP地址对应的地理位置. #-*- coding:gbk -*- import urllib2 import re try: while True: ipaddr = raw_input("Enter IP Or Domain Name:") if ipaddr == "" or ipaddr == 'exit': break else: url = "http://www.ip138.com/ips138.asp?i
-
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网络攻击和测试中. 这里就直接用python的scapy搞. 这里是arp的攻击方式,你可以做成arp攻击. 复制代码 代码如下: #!/usr/bin/python """ ARP attack """ import sys, os from scapy.all import * if os.geteuid() != 0:
-
python获取外网ip地址的方法总结
本文实例总结了python获取外网ip地址的方法.分享给大家供大家参考.具体如下: 一.利用脚本引擎库直接获取 import console; import web.script import inet.http; var jsVm = web.script("JavaScript") jsVm.AddCode( inet.http().get("http://fw.qq.com/ipaddress") ) var ipAddr = jsVm.CodeObject.
-
Python实现根据IP地址和子网掩码算出网段的方法
本文实例讲述了Python实现根据IP地址和子网掩码算出网段的方法.分享给大家供大家参考.具体如下: 该代码在Linux环境2.6.6python版本测试通过! #!/usr/bin/env python #_*_encoding:utf-8_*_ #Input your ip address and netmask to figure out your network . #申明:此脚本为交互式,默认情况下请执行python network.py from IPy import IP inpu
-
python获取本机mac地址和ip地址的方法
本文实例讲述了python获取本机mac地址和ip地址的方法.分享给大家供大家参考.具体如下: import sys, socket def getipaddrs(hostname): result = socket.getaddrinfo(hostname,None,0,socket.SOCK_STREAM) return [x[4][0] for x in result] # the name of the local machine hostname = socket.gethostnam
随机推荐
- 深入了解javascript中的prototype与继承
- 让侮辱中国人的法国cnn网站完蛋
- php 删除记录实现代码
- php基础知识:类与对象(5) static
- Yii中CGridView关联表搜索排序方法实例详解
- 浅析Node.js的Stream模块中的Readable对象
- MongoDB错误32-bit servers don't have journaling enabled by default解决方法
- Oracle通过时间(分钟)计算有几天几小时几分钟的方法
- Android 创建与解析XML(五)——详解Dom4j方式
- 在JavaScript中处理字符串之link()方法的使用
- Android canvas drawBitmap方法详解及实例
- VC++角色游戏中的人物初始化模块代码实例
- Android学习教程之分类侧滑菜单(5)
- PHP微信开发之模板消息回复
- Android RecyclerView实现下拉刷新和上拉加载更多
- iOS MRC 下 block 循环引用问题实例讲解
- django admin后台添加导出excel功能示例代码
- 浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
- vue.js 2.0实现简单分页效果
- JDK8接口的默认与静态方法-接口与抽象类的区别详解