在linux下经常需要测试服务器到其它服务器某个端口的连接情况,可以使用nc来测试,命令:

seq 100 | while read line; do nc -v -w 10 -z oracle.local 1521; done

把 oracle.local 1521 换成你想测试的主机和端口。
如果想结果更详细,可以用下面的命令把每次执行的时间输出:

seq 100 | while read line; do (time nc -v -w 10 -z www.google.com  80) 2>>/tmp/1.txt; done

在/tmp/1.txt下会看到下面的内容:

real 0m0.074s
user 0m0.005s
sys 0m0.004s

nc测试网络只是大炮打蚊子,附nc的一些参数说明:

-v:输出详细信息
-w:超时时间
-z:关闭输入/输出模式,常在扫描端口时使用,不发送任何数据包
-d 后台模式
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g <网关> 设置路由器跃程通信网关,最多可设置8个
-G <指向器数目> 设置来源路由指向器,其数值为4的倍数
-h 帮助信息
-i <延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口
-l 监听模式,用于入站连接
-n 直接使用IP地址,而不通过域名服务器
-o <输出文件> 指定文件名称,把数据以16进制字码保存至文件
-p <通信端口> 设置本地主机使用的通信端口
-r 随机本地及远程端口
-s <来源位址> 设置本地主机送出数据包的IP地址
-t 使用TELNET交互方式
-u UDP模式
-v 详细输出--用两个-v可得到更详细的内容

如果只是测试网络联通性,tcping是个不错的工具,效果和上面的nc是一样的。

#tcping www.52os.net 80

Probing 180.76.3.151:80/tcp - Port is open - time=1.287ms
Probing 180.76.3.151:80/tcp - Port is open - time=0.838ms
Control-C
Ping statistics for 180.76.3.151:80
    2 probes sent.
    2 successful, 0 failed.
Approximate trip times in milli-seconds:
Minimum = 0.838ms, Maximum = 1.287ms, Average = 1.062ms

参考文章:
http://blog.sina.com.cn/s/blog_613596840100ym43.html