Linux下怎么检测网络的连通状态

chengshiding 2012-05-02 12:02:59
不想ping某一个IP地址。
不想编写一个socket来和服务器发送心跳包保持联系。
只想测试网络是否在线。即IP等设置不对或者网线被拔出导致的不能上网都可以检测出来!
就像Ubuntu里的网络小图标那样。
希望可以调用有关库函数或者外部命令来实现。
本人网上搜了N多帖子无果。
THX!
...全文
2108 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
如此美丽的你 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

检查网线是否插入可以查看
/sys/class/net/eth0/carrier 文件的内容。 1 表示网线有插入, 0 表示没接网线。

IP等设置不对 这个没有什么好的办法检查。
[/Quote]
学习了!!
querdaizhi 2012-05-04
  • 打赏
  • 举报
回复
一个ping 命令就可以知道了。简单明了。
chengshiding 2012-05-04
  • 打赏
  • 举报
回复
怎么感觉ping的方式很不优雅
gql1123 2012-05-04
  • 打赏
  • 举报
回复
估计也是ping吧。
chengshiding 2012-05-04
  • 打赏
  • 举报
回复
THX.
不知道Ubuntu等发行版的网络连接小工具(就是面板右上角的那个图标)里面具体怎么实现的。人家的那个做的很不错哈~~
pottichu 2012-05-03
  • 打赏
  • 举报
回复
检查网线是否插入可以查看
/sys/class/net/eth0/carrier 文件的内容。 1 表示网线有插入, 0 表示没接网线。

IP等设置不对 这个没有什么好的办法检查。
wangj123456mn 2012-05-03
  • 打赏
  • 举报
回复
直接用ethtool查看就行了。。。
qq120848369 2012-05-03
  • 打赏
  • 举报
回复
这个网络通断是对方的机器, 不Ping肯定不行啊, 对方又没明确提供某个端口的服务, 只有ICMP是一般开发的.
chengshiding 2012-05-03
  • 打赏
  • 举报
回复
有木有淫啊 发表一下看法嘛
qq120848369 2012-05-02
  • 打赏
  • 举报
回复
ping其实就已经是最好的工具了,否则就是原始套接字写个C程序,发ICMP请求,并接受应答...
chengshiding 2012-05-02
  • 打赏
  • 举报
回复
总感觉这样的方式不够优雅,或说,在win下就有系统调用来判断网络的通断,为啥linux下木有呢

23,117

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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