SendARP函数用法
来源:互联网 发布:凡科自助建站破解源码 编辑:程序博客网 时间:2024/06/02 04:18
这个函数用来发送ARP数据包并在定义的MAC缓冲区中返回定义的IP对应的MAC地址
SendARP(
IPAddr DestIP,
IPAddr SrcIP,
PULONG pMacAddr,
PULONG PhyAddrLen
);
第一个参数是IP地址的网络字节顺序,而不是一个指针,当初我就是赋值成指针而使得获取不了MAC地址。
第二个参数填0就可以
第三个参数是MAC缓冲区指针
第四个参数是一个指向一个DWORD型数值为6的指针
返回值:
31 说明对方没有开机,我们的函数检测不到它,
1784 说明的给函数的最后一个参数的值是0,或你的给的值与你给的缓存区大小不符合。
如果返回31不在线,则最后一个参数指针指向的值赋值为0
给一个列子:
attackip是已经获得的主机字节顺序的IP地址!
char attackmac[6]="\x0";
DWORD pl=6;
htonl(*(DWORD *)attackip);
_asm
{
mov dword ptr [attackip],eax
}
SendARP(*(DWORD *)attackip,0,(DWORD *)attackmac,&pl);
该函数有一个缺点:
该函数本质上就是向目标主机发送一个ARP请求包,然后得到应答包来更新MAC,但是ARP请求包里的发送端IP和MAC是本机的实际IP和MAC,这样对方arp -a查看缓存表时记录里就有我的IP-MAC映射记录,容易知道有人在扫描其机器,或者是ARP病毒也可能。
解决该函数问题就是自己伪造发包,但是MAC地址必须对,否则应答包不会发送到本机~
from:http://hi.baidu.com/csacer/item/b9c2d3dda0f6d4f592a974b3
- SendARP函数用法
- sendARP
- SendARP函数详解(MSDN权威)
- 用SendARP API函数获取远程主机MAC地址学习心得
- SendARP 相关错误
- 使用 SendARP 查询 MAC 地址
- 使用SendArp来获取MAC地址
- 使用SendArp来获取MAC地址
- 使用SendARP扫描局域网的计算机
- SendARP结合线程池扫描局域网计算机
- 用SendARP()获取对方的MAC地址
- iphlpapi.lib Unresolved external 'SendARP' referenced from
- 函数用法
- 函数用法
- 函数用法
- 函数用法
- 函数用法 --- memset函数
- 使用SendArp()探测局域网内主机的MAC地址
- 如何重置桌面
- VC++/MFC(VC6)开发技术精品学习资料分享
- ubuntu下为APT设置代理
- 北大同学眼中的李克强
- 排序算法之希尔排序(JAVA)
- SendARP函数用法
- 函数要多小——小函数之道
- 论文阅读笔记 - Paxos made simple
- 20121225
- 把命运交给陌生人 徐小平
- Linux内核 kthread_run函数 理解学习
- 机房收费系统----报表与数据库连接的字符串生成的问题
- ajax回调函数参数传递正确方法
- 排序算法之直接插入排序(JAVA)