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 input_IP = raw_input('请输入ip地址:') list1 = input_IP.split('.') if len(list1) != 4: print "您输入的ip地址不合法,请重新输入!" exit() for i in list1: if i.isdigit() == True and int(i) >=0 and int(i) <= 255: pass else: print "您输入的ip地址不合法,请重新输入!" exit() input_Netmask = raw_input('请输入子网掩码:') list2 = input_Netmask.split('.') if len(list2) != 4: print "您输入的子网掩码不合法,请重新输入!" exit() for i in list2: if i.isdigit() == True and int(i) >=0 and int(i) <= 255: pass else: print "您输入的子网掩码不合法,请重新输入!" exit() print "您所在的网段为:%s" % (IP(input_IP).make_net(input_Netmask))
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
尝试使用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模拟数据包实现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地址的两个方法
第一种: 复制代码 代码如下: 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获取本机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
-
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实现根据主机名字获得所有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地址的方法总结
本文实例总结了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实现代码: 复制代码 代码如下: [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: #
-
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使用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
随机推荐
- AngularJS Toaster使用详解
- ubuntu 16.04 下如何设置root用户初始密码
- Java Spring Controller 获取请求参数的几种方法详解
- 5种Java经典创建型模式详解
- 轻松掌握Java建造者模式
- yii2 数据库读写分离配置示例
- Android编程之canvas绘制各种图形(点,直线,弧,圆,椭圆,文字,矩形,多边形,曲线,圆角矩形)
- Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- 浅谈SQL Server交叉联接 内部联接
- SQL Server 数据库索引其索引的小技巧
- jQuery异步提交表单的两种方式
- 修改或扩展jQuery原生方法的代码实例
- jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
- tomcat antiResourceLocking antiJARLocking 的作用和用法
- wchar_t,char,string,wstring之间的相互转换
- C#窗体显示留言时间的方法
- PHP Error与Logging函数的深入理解
- 探讨:如何使用委托,匿名方法对集合进行万能排序
- redis使用watch秒杀抢购实现思路