ioctl能否控制网口up/down

jixiang719 2011-04-13 04:03:56
int skfd;
struct ifreq ifr;
...
ioctl(skfd, SIOCETHTOOL, &ifr);
...
发现ioctl可以检测网卡与网线连通状态。
但是当双网口的网线都连通的时候,怎么控制使用其中的一个eth0,另外一个eth1关闭。
...全文
251 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wesleyluo 2011-04-13
  • 打赏
  • 举报
回复
要指定你想要控制的网卡名称,如eth0,eth1,eth2等等.
luobinshan 2011-04-13
  • 打赏
  • 举报
回复
参考ifconfig命令

strace ifconfig eth0 down
...
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
...
ioctl(4, SIOCGIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0
ioctl(4, SIOCSIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0
...


strace ifconfig eth0 up
...
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
...
ioctl(4, SIOCGIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_BROADCAST|IFF_MULTICAST}) = 0
ioctl(4, SIOCSIFFLAGS, {ifr_name="eth0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST}) = 0
...

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧