判断一个Ip是否通

在OpenBSD环境下搭建各种服务器的相关讨论。

版主: lionuxchenjun天地乾坤

回复
wangbaike
镁 Mg
帖子: 7
注册时间: 2011-03-17 8:11
联系:

判断一个Ip是否通

帖子 wangbaike » 2011-06-20 10:36

怎样在OAMP下判断一个IP是否通呢?如果通了又怎样判断该IP所在主机是否提供服务呢,不知哪位能来解读一下呢???
我做的是智能DNS,支持多链路,双IP,当收到一个域名的解析请求的时候,我首先判断一下发请求的机器在哪条链路上,比如说:网通,我就把网通链路上服务器的IP解析给它,如果是电信,我就把在电信链路上服务器的IP解析给它。我要定时检测本地IP库里的IP是否都能用,所以要进行断线检测。这样要是有一台服务器出现问题的话我可以把域名解析到另一台服务器上,这样说大家都可以理解吗?

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

回复: 判断一个Ip是否通

帖子 leo » 2011-06-20 10:41

你的意思是你的一台web服务器用两个IP地址提供web服务还是两台web服务器互为备份?没太看明白,能详细说一下吗?

wangbaike
镁 Mg
帖子: 7
注册时间: 2011-03-17 8:11
联系:

回复: 判断一个Ip是否通

帖子 wangbaike » 2011-06-20 10:57

leo 写了:你的意思是你的一台web服务器用两个IP地址提供web服务还是两台web服务器互为备份?没太看明白,能详细说一下吗?
我是作为DNS断线检测方面来说的,我可用的只有一个IP,至于这个IP所在的主机是否在线,是否提供服务,这是我想解决的问题,这个解释你可以理解吗?

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

回复: 判断一个Ip是否通

帖子 leo » 2011-06-20 11:16

DNS检测方面不熟悉,一起等高手。

wangbaike
镁 Mg
帖子: 7
注册时间: 2011-03-17 8:11
联系:

回复: 判断一个Ip是否通

帖子 wangbaike » 2011-06-20 11:35

还是要谢谢你呀!

hyaska
铜 Cu
帖子: 311
注册时间: 2010-12-10 16:11

回复: 判断一个Ip是否通

帖子 hyaska » 2011-06-20 11:45

PING可以看主机通不通
用TELNET可以看APACHE是不是工作,这个方法要输入较多的字符,还是用 http://web-sniffer.net/ 来看方便点
mysql的是也有端口的,是不是对外开放
php的话,在web里搞个phpinfo(); 应该就行了吧

还是不懂你的意思,DNS断线?动态域名吗,还是DNS里指了好几个?

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

回复: 判断一个Ip是否通

帖子 leo » 2011-06-20 11:46

wangbaike 写了:还是要谢谢你呀!
不带说反话的,呵呵,我不熟悉还谢谢我?;)
不过我觉得问题描述的清晰一些更利于大家分析和解决。

wangbaike
镁 Mg
帖子: 7
注册时间: 2011-03-17 8:11
联系:

回复: 判断一个Ip是否通

帖子 wangbaike » 2011-06-20 13:26

我又补充了一下我的问题,请大家仔细看看,能帮得上忙的就帮,帮不上的我同样也谢谢你!

hyaska
铜 Cu
帖子: 311
注册时间: 2010-12-10 16:11

回复: 判断一个Ip是否通

帖子 hyaska » 2011-06-20 14:18

大概明白你的意思了。
用curl吧

代码: 全选

$ curl -sI http://www.163.com
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Jun 2011 06:15:54 GMT
Content-Type: text/html; charset=GBK
Transfer-Encoding: chunked
Vary: Accept-Encoding
Expires: Mon, 20 Jun 2011 06:17:14 GMT
Cache-Control: max-age=80
Vary: User-Agent
Vary: Accept
X-Via: 1.1 ls112:8103 (Cdn Cache Server V2.0), 1.1 lydx157:8104 (Cdn Cache Server V2.0)
Connection: keep-alive
WEB服务正常就会显示HTTP/1.1 200 OK

qinjuan
铝 Al
帖子: 10
注册时间: 2011-02-26 8:47

回复: 判断一个Ip是否通

帖子 qinjuan » 2011-06-20 17:00

WEB服务正常就会显示HTTP/1.1 200 OK,如果是ftp服务呢?

wangbaike
镁 Mg
帖子: 7
注册时间: 2011-03-17 8:11
联系:

回复: 判断一个Ip是否通

帖子 wangbaike » 2011-06-20 18:04

如果是ftp服务呢?

hyaska
铜 Cu
帖子: 311
注册时间: 2010-12-10 16:11

回复: 判断一个Ip是否通

帖子 hyaska » 2011-06-21 8:36

ftp的话,应该登录成功会有230 User logged in,以这个为判断依据,或者会有服务器的信息之类的

例如:

代码: 全选

# ftp ftp://ftp.jaist.ac.jp
Connected to ftp.jaist.ac.jp.
220 (vsFTPd 2.1.1)
331 Please specify the password.
230-Welcome to JAIST Public Mirror Service (ftp.jaist.ac.jp).
230-If you have any problem, please contact [email protected].
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Switching to Binary mode.
看,即使不登录也有信息出现(这个信息是FTP SERVER配置上去的,不配置的话这个办法就不灵了)

余下的就是写脚本作判断了,脚本我不会啊:mad:

回复

在线用户

正浏览此版面之用户: Ahrefs [Bot], Google [Bot] 和 1 访客