免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2012 | 回复: 3
打印 上一主题 下一主题

[应用] 无线路由器显示客户机mac ip功能如何实现!!!求助!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-28 09:48 |只看该作者 |倒序浏览
最近做无线路由开发(是基于linux内核的),网页显示客户机信息的功能。可不知如何实现!


网页登录路由器可以查看到连接此路由器的客户机信息,显示出客户机序号和MAC地址,它是如何获取客户机信息的,主要是MAC和IP。不知道这个功能是如何实现,请大牛指点一二!!!!

论坛徽章:
0
2 [报告]
发表于 2013-01-30 09:28 |只看该作者
busybox的udhcpd中有这些相关的信息,通过向该进程发送SIGUSR1信号,然后从相应的文件中读取数据。该文件可以在udhcpd中的配置文件中设定,以下是一个配置文件示例:
  1. start 192.168.1.100
  2. end 192.168.1.200
  3. interface eth0
  4. option subnet 255.255.255.0
  5. option dns xxx.xxx.xxx.xxx
  6. option router 192.168.1.1
  7. option lease 86400
  8. lease_file /var/udhcpd.leases
复制代码
其中lease_file所指向的文件保存了所有连接到ap的pc或相关设备的mac及ip等相关信息。

参考示例:
  1. FILE *fp = NULL;
  2.     struct dhcpAddr {
  3.         unsigned char hostname[16];
  4.         unsigned char mac[16];
  5.         unsigned long ip;
  6.         unsigned long expires;
  7.     } lease;

  8.     system("killall -q -USR1 udhcpd");

  9.     fp = fopen("/var/udhcpd.leases", "r");
  10.     if (NULL == fp)
  11.         return -1;
  12.     while (fread(&lease, 1, sizeof(lease), fp) == sizeof(lease)) {
  13.      .....
  14. }
复制代码
其它相关的自行实现吧!

论坛徽章:
2
巨蟹座
日期:2014-03-09 21:37:25射手座
日期:2014-04-16 16:23:03
3 [报告]
发表于 2013-02-02 18:06 |只看该作者
cat /proc/net/arp

论坛徽章:
0
4 [报告]
发表于 2013-02-18 20:19 |只看该作者
回复 1# liwentao1091


    通常都是通过读取DHCP SERVER的租约文件来查看DHCP CLIENT的MAC和IP地址的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP