当前位置:  技术问答>linux和unix

linux编程:求助各位linux牛人,检测一个IP是否连通,用什么实现好

    来源: 互联网  发布时间:2017-04-23

    本文导语:  linux编程:求助各位linux牛人,检测一个IP是否连通,用什么实现好? linux下C/C++编程,现在要实现一个功能,就是给定一个IP地址,看是否连通。原来的方案是system(ping )来检测,但是很多机器有可能把ping禁止了,...

linux编程:求助各位linux牛人,检测一个IP是否连通,用什么实现好?

linux下C/C++编程,现在要实现一个功能,就是给定一个IP地址,看是否连通。原来的方案是system(ping )来检测,但是很多机器有可能把ping禁止了,所以这个方案不行。求教各位达人有什么其它好的办法编程实现呢?
谢谢!!

|
那能有什么办法。要想有回应除了ICMP这样确定的协议以外,至少得用tcp吧。而TCP你就得知道确定的端口,问题是除了ICMP还有什么确定的通用的,公开的端口么?

所以你杯具了。

|
每个端口遍历bind它 connect它 
看它还通不通 哈哈 

|
总得有一个端口用来检测
telnet ip port

|
基本无解~!

|
可以让对方开个端口专门用来检测嘛

|
从0到65535端口,一个一个发送数据,一个一个试。

|
这个真没什么好办法吧,现在服务器端的安全防范尤其强,不会让你随意扫描端口的。

|
基本无解~!

|
首先
去测试一个有ip的connect速度,再测试一个无ip的connect拒绝速度
有IP的connect回绝是从目的台式机回的,无IP的,最近的路由器或交换机回的,速度上会不一致

tcp 去connect 一个端口(随便选) ,根据之前的速度值来判定 //哈哈,只是猜测


|
3楼的兄弟说的有道理,小弟也认为只有ICMP协议好用

|

正解 不然就遍历 汗

|
考虑telnet  需要知道端口号不过

|
检测是否“连通”的目的是什么,肯定是为了对接下来进一步的网络操作进行判断,接下来要操作的端口是确定的,所以“联通”的标准应该精确到该端口,否则,如果目标地址能ping通,但是该端口不通,对于你的应用来说,同样视为是“不通”的,反之亦然,所以,在这个前提下,telnet检测即可

|

如果在同一个LAN里,发ARP包.
如果在WAN里,扫描端口或者ping, 如果禁用了ping,关闭了所有的upd和tcp端口,那莫有办法了.

|


他把所有的端口都关了不是也把自己也封死了。。。

|
说的很对


|
可以考虑一下类似 tracert 的机制,对方机器开还是不开,他所在局域网的网关是知道的,有时是可以探测出来的.

|
还是ICMP方法,对指定IP发送一个UDP包,随意端口,等待一定时间一般会回复一个ICMP,会告诉你是目标不可达还是端口不可达,端口不可达就是存在此IP的机器。不过很多时候根本收不到回复,需要多尝试。
如果是内网就直接使用arp协议。

|
先bind然后connect

|
可以参考 nmap 的做法和源代码
http://nmap.org/book/man-port-scanning-techniques.html

    
 
 

您可能感兴趣的文章:

  • Linux下怎么检测网络的连通状态
  • 请问vmware内的linux和宿主机win2k怎样相连通
  • redhat linux7.2环境下如何将apache1.3.24和php4.2.1连通?
  • 编一个程序,检测Linux系统下机器网卡的状态(只要检测网络线是否被拔掉?)
  • 如何让linux重启时自动检测文件系统!??
  • linux怎么加检测超时程序!!!
  • linux7.2网卡检测不到
  • linux启动时,能否跳过硬盘检测。
  • 在Linux下如何检测IP地址冲突,及网线脱落
  • linux下,如何检测网络线连接或断开?
  • linux怎么无法检测到我的键盘和鼠标?
  • 求助关于LINUX下检测不到网卡的问题。
  • linux下如何检测鼠标移动了。
  • 请教一个关于linux下检测fstream失效的问题
  • 如何 linux下检测 usb摄像头(或设备)热插拔事件
  • linux声音问题!可以检测到声卡型号但没声音!在线等待!
  • linux 硬件检测,驱动自动加载的问题
  • ********菜鸟问题,LINUX安装时没有检测到网卡*********
  • RedHat Linux下怎样检测新硬件?
  • linux程序中如何检测机器所用的硬件
  • 为什么我下载的RedHat Linux 被检测未知的操纵系统???
  • linux下如何检测网络状态
  • linux控制台程序如何检测有无按键?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • linux c下利用srand和rand函数生成随机字符串
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • 请问vmware内的linux和宿主机win2k怎样相连通 iis7站长之家
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux下chmod命令详细介绍及用法举例
  • 我重装了winme,却进不了Linux了,而我现在又没有Linux光盘,也没有Linux启动盘,还有没有办法?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,