Chinaunix
标题:
如何监控与指定IP的机器之间连接是否断开?
[打印本页]
作者:
hnayyc
时间:
2009-07-09 11:31
标题:
如何监控与指定IP的机器之间连接是否断开?
要写一个C程序在Linux上运行。功能是监控给定的几个IP地址的主机与程序所在主机之间的连接是否正常。在此说的连接指物理上的连接。本人觉得应该通过对网卡驱动的操作来实现。到那时一直没有思路。希望有高手给予指教。不胜感激!
作者:
alexhappy
时间:
2009-07-09 13:59
ping不就行了
作者:
hnayyc
时间:
2009-07-09 14:26
ping不行。有的机器的防火墙是过滤ping命令的。
作者:
alexhappy
时间:
2009-07-09 16:04
原帖由
hnayyc
于 2009-7-9 14:26 发表
ping不行。有的机器的防火墙是过滤ping命令的。
那就模拟个链接,比如用UDP发应答包,或者干脆直接用个TCP链接算了,当然这需要在被监控主机上运行个程序。。。如果你不想这样,那就别让防火墙把自己挡那么死
作者:
emmoblin
时间:
2009-07-09 22:18
你说的连接是什么层次?
是指网络是否通吗?ping就搞定了
我觉得从驱动出发是不可能的。
作者:
loophole
时间:
2009-07-11 11:22
connect,发送自定义报,然后接收icmp报来判断异常。你看这样行不~~
作者:
bobcuer
时间:
2009-07-11 11:38
标题:
回复 #1 hnayyc 的帖子
只知道对方的IP地址,肯定是在IP层了,最方便是设置tcp的keep-alive选项来判断是否连接已经断开了。
作者:
leiyun8508
时间:
2009-07-11 11:52
是不是可以通过ioctl来实现呢?
也许这个可以参考下:
http://hi.baidu.com/chenzhuoyou/ ... 6d8e5c564e00e1.html
作者:
rockcanon
时间:
2009-07-11 18:27
发心跳包。
作者:
yumanifold
时间:
2009-07-11 18:36
标题:
回复 #3 hnayyc 的帖子
一般都会不禁止ping如的吧?如果是在一个局域网内,禁止ping如会带来很多麻烦的
况且icmp包还是有好多种的呢
http://hi.baidu.com/allen_xy/blo ... 06f01073f05dd9.html
作者:
duanjigang
时间:
2009-07-13 13:25
这个粗糙点做,TCP直接netstat,或者写个SOCKET发送UDP报文或者ICMP报文
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2