ARP欺骗程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

LOGOARP欺骗程序Lx-kunARP欺骗程序WinPcap简介ARP欺骗ARP原理1.2.3.5.程序的实现4.课程设计总结ARP原理:ARP概述ARP(AddressResolveProtocol)地址请求解析协议,用于寻找和IP地址相对应的MAC地址。在RFC826中定义了ARP协议的数据格式和类型。ARP协议属于在网络层的下部,可看作为网络层和数据链路层的接口,主要用于IPv4以太网。ARP工作在同一网段,不能路由。应用层会话层表示层传输层网络层数据链路层物理层ARPARP原理:ARP概述ARPTableARP分组格式ARP消息类型ARP查询(广播)ARP应答(单播)ARP例子ARP原理:ARPTableARPTable高速缓存区中保存最近获得的ARP表项高速缓冲区中ARP表项新鲜性的保持:计时器ARPTable的更新静态绑定(static)动态更新(dynamic)arp–s172.19.37.12600-e0-fc-59-ef-68ARP原理:ARPTableARPTable动态更新规则源主机在发出ARP请求,接收到ARP应答后将目的主机的IP地址与物理地址映射关系存入自己的高速缓冲区。目的主机接收到ARP请求后将源主机的IP地址与物理地址映射关系存入自己的高速缓冲区。ARP请求是广播发送的,网络中的所有主机接收到ARP请求后都可以将源主机的IP地址与物理地址映射关系存入自己的高速缓冲区。ARP原理:ARPTableARPTable计时器TTL(windows)新表项加入时定时器开始计时表项添加后2分钟内没有被再次使用:删除表项被再次使用:增加2分钟的生命周期表项始终在使用:最长生命周期为10分钟ARP原理:ARP例子IP:192.168.1.1MAC:GatewayIP:192.168.1.2MAC:AGateway:192.168.1.1IP:192.168.1.3MAC:BGateway:192.168.1.1IP:192.168.1.4MAC:CGateway:192.168.1.1IP:192.168.1.5MAC:DGateway:192.168.1.1InternetDCBAEthernetARP缓存192.168.1.1------Gateway查询缓存表找到相应条目---发送数据查询失败---发送ARP请求ARP原理:ARP例子1.PCA以广播形式发送ARP请求,请求网关的MAC地址。IP:192.168.1.1MAC:GatewayIP:192.168.1.2MAC:AGateway:192.168.1.1IP:192.168.1.3MAC:BGateway:192.168.1.1IP:192.168.1.4MAC:CGateway:192.168.1.1IP:192.168.1.5MAC:DGateway:192.168.1.1InternetDCBAEthernetIamtheGateway,MACisGateway.ARP缓存192.168.1.1------GatewaySendsdate2.网关以单播形式回应A的ARP请求。址3.A更新自己的ARP缓存。4.A与网关通信。ARPrequestWhoistheGateway(192.168.1.1)?ARPanswerARP原理:ARP分组格式ARP分组格式OP=1ARP请求OP=2ARP应答以太网首部28字节ARP请求/应答以太网目的地址以太网源地址帧类型硬件类型OP协议类型发送端以太网地址发送端IP地址目的以太网地址目的IP地址硬件地址长度协议地址长度666644222211ARP原理:ARP帧类型FFFFFFFFFFFFMAC:A08060001010800MAC:A192.168.1.2000000000000192.168.1.16666442222110604IP:192.168.1.1MAC:GatewayIP:192.168.1.2MAC:AGateway:192.168.1.1IP:192.168.1.3MAC:BGateway:192.168.1.1IP:192.168.1.4MAC:CGateway:192.168.1.1IP:192.168.1.5MAC:DGateway:192.168.1.1InternetDCBAARPrequestARPanswerARP应答帧ARP请求帧ARP请求帧ARP应答帧目的IP地址目的以太网地址发送端以太网地址发送端IP地址OP目的IP地址目的以太网地址发送端以太网地址发送端IP地址OPMAC:AMAC:Gateway08060001020800MAC:Gateway192.168.1.1MAC:A192.168.1.26666442222110604192.168.1.1MAC:Gateway’IP:192.168.1.2MAC:AGateway:192.168.1.1IP:192.168.1.3MAC:BGateway:192.168.1.1IP:192.168.1.4MAC:CGateway:192.168.1.1IP:192.168.1.5MAC:DGateway:192.168.1.1InternetCBAEthernetDARPrequestARP欺骗FFFFFFFFFFFFGateway’08060001010800Gateway’192.168.1.1000000000000192.168.1.26666442222110604Whois192.168.1.2?ARP缓存192.168.1.1------Gateway’ARPanswer目的IP地址目的以太网地址发送端以太网地址发送端IP地址OPTheGateway(192.168.1.1)isGateway’192.168.1.1MAC:Gateway192.168.1.1MAC:GatewayIP:192.168.1.2MAC:AGateway:192.168.1.1IP:192.168.1.3MAC:BGateway:192.168.1.1IP:192.168.1.4MAC:CGateway:192.168.1.1InternetIP:192.168.1.5MAC:DGateway:192.168.1.1EthernetABCDARP双向欺骗ARPrequestARP缓存192.168.1.1------MAC:DARPrequestPCA(192.168.1.2)isMAC:DARPrequestTheGateway(192.168.1.1)isMAC:DARP缓存192.168.1.2------MAC:D数据转发ARP双向欺骗EthernetInternetHacker数据探嗅,监听InternetWinPcap介绍WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库.大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets。这是一种简单的实现方式,因为操作系统已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),并且提供了一个与读写文件类似的,令人熟悉的接口。然而,有些时候,这种“简单的方式”并不能满足任务的需求,因为有些应用程序需要直接访问网络中的数据包。也就是说,那些应用程序需要访问原始数据包,即没有被操作系统利用网络协议处理过的数据包。WinPcap介绍WinPcap可以用于网络分析、网络故障诊断、网络安全和网络监视等网络工具中,所提供的功能主要包括以下四个方面:捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的在数据包发送给某应用程序前,根据用户指定的规则过滤数据包将原始数据包通过网络发送出去收集并统计网络流量信息WinPcap介绍网络接口内核层用户层网络数据包网卡驱动器winsock应用程序Packet.dll数据包捕获驱动器copyWpcap.lib应用程序程序的实现实现的功能ARP双向欺骗数据包的转发程序优化多线程转发(减小延时)图形界面(选做)程序的实现:基本模型获取本机设备列表pcap_findalldevs_ex()打印设备列表选择适配器pcap_open()释放设备列表pcap_freealldevs()发送数据包pcap_sendpacket()时间间隔Sleep(N)获取本机设备列表pcap_findalldevs_ex()打印设备列表选择适配器pcap_open()释放设备列表pcap_freealldevs()编译、设置过滤器pcap_compile()pcap_setfilter()读取数据包pcap_next_ex()修改数据包发送数据包pcap_sendpacket()ARP欺骗进程获取设备列表打开选中的网卡发送ARP欺骗数据包转发进程获取设备列表打开选中的网卡设置过滤规则读取数据包修改源MAC和目的MAC转发数据包程序的实现:多线程模型多线程模型ARP欺骗线程数据包转发线程获取本机设备列表pcap_findalldevs_ex()打印设备列表选择适配器pcap_open()释放设备列表pcap_freealldevs()发送数据包pcap_sendpacket()时间间隔Sleep(N)编译、设置过滤器pcap_compile()pcap_setfilter()读取数据包pcap_next_ex()修改数据包发送数据包pcap_sendpacket()读取数据包pcap_next_ex()修改数据包发送数据包pcap_sendpacket()编译、设置过滤器pcap_compile()pcap_setfilter()程序的实现:过滤转发EthernetInternetHacker修改源和目的地址Dst=GatewaySrc=hacker修改源和目的地址Dst=PCSrc=hacker过滤规则etherdstMAC:HackersrcMAC:peoplenotdsthostHackernotarp过滤规则etherdstMAC:HackersrcMAC:GatewaydsthostpeopleARP欺骗防御客户端:静态绑定地址:arp–s192.168.1.100-aa-bb-cc-dd-ee安装个人防火墙ARP欺骗防御交换机:DAI(DynamicARPinspection,动态ARP检测)是一种能检测ARP数据包的安全特性。通过DAI网络管理远能够拦截、记录和丢弃具有无效MAC地址/IP地址绑定的ARP数据包。课程设计总结原理分析知识学习程序编写调试修改ARP原理ARP欺骗winpcap多线程课程设计总结ARP欺骗程序多线程编程WinPcapARP协议C语言课程设计总结知识总结:C语言TCP/IP协议:ARPwinpcap多线程技术参考资料:《TCP/IP详解卷1》W.RichardStevens《Windows网络程序设计》《Windows多线程编程》WinPcap官方文档

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功