免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: shineyear
打印 上一主题 下一主题

linux socket 如何获取访问者IP和MAC地址? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-10-07 14:49 |只看该作者
原帖由 flw 于 2008-10-7 14:46 发表
这个帖子很“百度知道”!


我就是看见皇帝光屁股那个小孩

[ 本帖最后由 贺兰云天 于 2008-10-7 14:50 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2008-10-07 15:52 |只看该作者
原帖由 贺兰云天 于 2008-10-7 14:36 发表
我晕,都回复些什么咚咚????
楼主要的是访问者的IP和MAC,怎么发的代码都是获取本机IP和MAC的,难道是为了赚分?
还不如:

system("arp | awk 'NR>1{print $1" "$3" "$5}' > result.tx ...


你这个也只能得到LAN的信息吧。

论坛徽章:
0
13 [报告]
发表于 2008-10-07 16:15 |只看该作者
IP很容易得到的,不管TCP,还是UDP,MAC地址是在IP层获取,SOCK_RAW类型的

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
14 [报告]
发表于 2008-10-07 17:28 |只看该作者
原帖由 chary8088 于 2008-10-7 16:15 发表
IP很容易得到的,不管TCP,还是UDP,MAC地址是在IP层获取,SOCK_RAW类型的

你只能拿到上一跳的 MAC 地址,而上一跳的 MAC 地址未必就是源 MAC 地址,除了在同一个 LAN 之内。

论坛徽章:
0
15 [报告]
发表于 2008-10-07 22:16 |只看该作者
ls 所言极是.

对于一个节点的mac而言,只对所在LAN有效,而一旦跨网段,那就是IP地址的事情了.

lz实在想要获取远程ip的mac,那么只有在客户端或客户端所在的网关里安装自己的检测mac回传软件了.

论坛徽章:
0
16 [报告]
发表于 2008-10-08 10:41 |只看该作者
如果要刻意告诉IP和MAC的话,何必抓包劳神,何必考虑问题种种,在应用层数据中加个结构体,发送前写入自身的MAC和IP,这样不管多少跳,不管发送到哪里,接收者都能解析到你的IP和MAC
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP