社区
Linux/Unix社区
帖子详情
Linux C/C++客户端如何获得活动网卡的MAC地址?
qpx1125
2013-03-10 12:05:17
对于获取本地MAC的功能,上网搜了一下好像都要指定网卡的名字
strcpy(ifr.ifr_name, szDevName);
ioctl(s, SIOCGIFHWADDR, &ifr);
但是对于TCP客户端来说,它的socket当connect到服务器的时候肯定要通过一个网卡,所以怎么获得它connect用的这个网卡的MAC呢?
...全文
397
5
打赏
收藏
Linux C/C++客户端如何获得活动网卡的MAC地址?
对于获取本地MAC的功能,上网搜了一下好像都要指定网卡的名字 strcpy(ifr.ifr_name, szDevName); ioctl(s, SIOCGIFHWADDR, &ifr); 但是对于TCP客户端来说,它的socket当connect到服务器的时候肯定要通过一个网卡,所以怎么获得它connect用的这个网卡的MAC呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xengine-qyt
2013-03-12
打赏
举报
回复
直接获取socket 的本身IP地址 在与网卡列表匹配不就行了
zaghost
2013-03-11
打赏
举报
回复
从哪个网卡出去由路由表决定,与socket无关
qq120848369
2013-03-10
打赏
举报
回复
GETCONF可以获取所有网卡,查一下ioctl的相关选项。
qq120848369
2013-03-10
打赏
举报
回复
socket没bind过特定网卡是谈不上出口IP的,完全是根据目标地址查路由表选择网卡出口的。
qpx1125
2013-03-10
打赏
举报
回复
引用 1 楼 qq120848369 的回复:
GETCONF可以获取所有网卡,查一下ioctl的相关选项。
我知道可以一下查出所有的网卡,网上看了一下好像这样就可以:ioctl(fd, SIOCGIFCONF, &ifc) 但我现在想知道的是我这个socket是用的哪个网卡
2023
Linux
C/
C++
全栈开发知识技术合集(基础入门到高级进阶)
Linux
是一个操作系统软件。与Windows不同的是,
Linux
是一套开放源代码程序的、并可以自由传播的类Unix操作系统,它是一个支持多用户、多任务、多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络...
超全面的后端开发C/
C++
面经整理分享含详细参考答案 包括简历分享
本文为博主2020年秋招提前批的c/
c++
后端开发面经整理,包括C/
C++
语言基础,计网,数据库,
linux
,操作系统,场景题,智力题和hr常问题。面试问题来自前人的工作和博主面试时遇到的值得记录的问题,其中面试题答案...
linux
c/
c++
学习笔记
一、c基础问题 1.c各种基本数据类型是否由于操作系统的不同而不同?具体呢? char short int float double long longlong (单位:字节)32位平台: 1 2 4 4 8 4 864位平台: 1 2 4 4 8 8 8注:对于各种数据类型,有...
linux
C获取
Mac地址
无论是否联网都可以获取到,但是当程序运行在其他
客户端
,不可能要求用户那里的
网卡
名称也是eth0,所以此方法仅能用作本地测试,或者用命令行方式传入
网卡
名称,然后获取指定
网卡
名称的
mac地址
。可是ifconfig命令...
Linux
C/
C++
实现网络流量分析(性能工具)
Linux
C/
C++
网络流量分析 代码中网络流量分析是一个用于网络统计的命令行工具,用于监视系统网络接口的流量、带宽使用情况以及与网络相关的统计数据。它可以提供网络传输的各种统计信息,包括数据包的数量、字节数...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章