手动搜索mac

一下网关的IP,确保是通畅的,并且这个的过程也助于让网关的返回的数据信号缓存在地址表中,在窗体上放两个文本输入框,两个按钮即可以了.SDK中提供用来获得目标主机的MAC地址的函数,的函数原型如下:这个函数的返回值为错误代码说明对方没有开机,我们的函数检测不到它,说明的给函数的最后一个参数的值是0,或你的给的值与你给的缓存区大小不符合。...

近两年来,内网的ARP病毒(攻击)一直是网吧的难题。网络管理员现在使用双重绑定来缓解这个问题。进行双重绑定时,需要网关的mac地址。网关可能是电脑,也可能是路由器或猫,此时查看它的mac地址不是很方便。部分网吧平台软件开发者推送产品增加了“检测”网关mac的功能查询mac的软件,如下图:

今天我们要分析实现这个功能的原理和方法,后面会写完整的代码。

首先我们通过DOS窗口中的命令-g来尝试感受一下ARP的另一个参数

先ping网关的IP查询mac的软件,确保通畅,这个过程也有助于将网关返回的数据信号缓存在地址表中

使用ARP -g 获取对应的mac地址。

有兴趣的可以试试看能否正确获取到其他机器的mac地址。操作是一样的。

写一个网吧的工具,不能调整DOS命令,这次我还是用7,窗体上放两个文本输入框,两个按钮就够了。对于ARP操作说明,我们可以调用微软的API来实现。

( ) 是 SDK 中提供的一个函数,用于获取目标主机 mac 的地址。函数原型如下:

双字(

, // 目标IP地址

SrcIP, // 源IP地址

, // 返回 mac地址指针

//返回mac地址长度

);

此函数的返回值为错误码

31表示对方没有开机,我们的功能检测不到,

1784 指定函数的最后一个参数的值

1784 为 0,或者你给的值和你给的缓冲区大小不匹配。

通过它我们可以轻松实现mac地址检测。

(:ulong;

临时:双字;

:;

:) : 双字; ; '.dll'名称'';

.(:);

变量

myip:ulong;

我的mac:array[0..5] 个字节;

:ulong;

r:;

开始

myip:=(PChar(编辑1.文本));

:=(我的mac);

r:=(myip,0,@mymac,@);

.:=':'+(r);

编辑2.文本:=('%2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x',[mymac[0],mymac[1],mymac[2],mymac [3],我的mac[4],我的mac[5]]);

结束;

.(:);

开始

关闭;

结束;

运行后的效果如下:

很多网吧平台软件都有这个功能。现在我们自己去模仿也不是什么难事。开发侧重于识别需求和清晰的思路,编码不难。其实我们在网吧的日常管理上还有很多地方可以拓展,需求也是多种多样的。比如发现有异常的IP活动,需要通过IP找出是哪台电脑,也可以针对这个需求自己做一个工具。

关注全球网吧微信,了解网吧和网吧的运营管理、安装维护:

相关文章

发表评论