python发送arp包

import os
from scapy.all import *
import sys
from threading import Thread
from optparse import OptionParser
 def sweep(ip)
  		try:
  			pakt=Ether(dst="ff:ff:ff:ff:ff:ff",src="00:0c:29:b6:71:0c")/ip(pdst=ip,psrc="192.168.1.110",hwsrc="00:0c:29:b6:71:0c",hwdst="00:00:00:00:00:00")
  			result=srp1(pakt.timeout=1,verbose=0)
  			if result:
  				time.sleep(0,1)
  				print ip + ",在线"
  				return
  		except:
  			pass

if __name__=="__main__":
	usage="Usage: %prog -f <filename> -i <ip address>"
	parse=OptionParser(usage=usage)
	parser.add_option("-f","--file",type="string",dest="filename",help="specify the IP address file")
	parser.add_option("-i","--ip",type="string",dest="address",help="specify the IP address")
	(options,args)=parser.parse_args()
	filename=options.filename
	address=options.address
	if (filename=None and address=None)
		print "请输入正确的ip地址或者ip文件"
		sys.exit()
	if filename:
		if not os.path.exists(filename):
			print "文件不存在,请重新输入。"
			sys.exit()
		f=open(filename,"r")
		for i in f.readlines():
			ip=i.strip("\n")
			t=Thread(target=sweep,args=(ip,))
			t.start()
	if address:
		IP=address.split(".")[0] + "." + address.split(".")[1] + "." +address.split(".")[2]+ "."
		for i in range(1,255):
			ip=IP + str(i)
			t=Thread(target=sweep,args=(ip,))
			t.start()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值