How to Test Port[TCP/UDP] Connectivity from a Linux Server (文档 ID 2212626.1)
适用于:
Linux OS - Version Oracle Linux 5.0 to Oracle Linux 6.8 [Release OL5 to OL6U8]
Information in this document applies to any platform.
目标:
在Linux服务器上检查TCP/UDP端口的连通性。
解决方案:
telnet和nc 是用来测试端口连通性的一般工具。
telnet可以测试tcp端口的连通性。
nc可以测试tcp和udp端口的连通性。
请确保telnet和nc工具已经安装
# yum install nc
# yum install telnet
测试tcp端口的连通性:
语法如下:
在CODE上查看代码片派生到我的代码片
telnet <hostname/IP address><port number>
如下是连通成功的例子:
在CODE上查看代码片派生到我的代码片
# telnet 192.118.20.95 22
Trying 192.118.20.95...
Connected to 192.118.20.95.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.6.1
Protocol mismatch.
Connection closed by foreign host.
如下是连通不成功的例子:
在CODE上查看代码片派生到我的代码片
# telnet 192.118.20.95 22
Trying 192.118.20.95...
telnet: connect to address 192.118.20.95: No route to host
使用nc命令来测试tcp端口的连通性:
语法:
在CODE上查看代码片派生到我的代码片
nc -z -v <hostname/IP address><port number>
如下是连通成功的例子:
在CODE上查看代码片派生到我的代码片
# nc -z -v 192.118.20.95 22
Connection to 192.118.20.95 22 port [tcp/ssh] succeeded!
如下是连通不成功的例子:
在CODE上查看代码片派生到我的代码片
# nc -z -v 192.118.20.95 22
nc: connect to 192.118.20.95 port 22 (tcp) failed: No route to host
使用nc命令来测试udp端口的连通性:
语法:
在CODE上查看代码片派生到我的代码片
nc -z -v -u <hostname/IP address><port number>
在CODE上查看代码片派生到我的代码片
# nc -z -v -u 192.118.20.95 123
Connection to 192.118.20.95 123 port [udp/ntp] succeeded!
nc检测端口的用法
nc -z -w 10 %IP%%PORT%
-z表示检测或者扫描端口
-w表示超时时间
-u表示使用UDP协议
Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失因为产品上确定要要用的PHY是千M的,但模块接口又定义死了,只能用到100M。所以想测试下割掉几根线试下100M可行不。在测之前先测下千M模式下到底性能怎么样,之前别人一直说这我手头上这颗ARM根本上不了千M,虽然他标称的是可以支持千M。一准备工作做好了,开始。
我们使用的工具是iperf这个工具我是自己编译的。现在将我的过程写下来。iperf下载地址
先编译PC端工具:
1.解压源码:
$ tar xzvf iperf-2.0.5.tar.gz
2.进入源码目录
$ cd iperf-2.0.5
3.配置源码 编译PC下的不用指定参数,用默认的即可
$ ./configure
4.编译 后面的-j4不是必须的。
$ make -j4
5.安装 这里要注意要用管理员权限
# make install
$ iperf -s 就可以启动服务端。
ARM端:
1.清理源码(就是刚才编译过的源码)
$ make distclean
2.设置环境变量 (就是你的ARM交叉编译工具链,根据自己的实际情况改)
$ export PATH=/home/gavin/ti-sdk-am335x-evm-05.06.00.00/linux-devkit/bin:$PATH
3.配置 指定主机为ARM g++编译器和gcc 这里根据自己的实际情况改
$ ./configure --host=arm CXX=arm-arago-linux-gnueabi-g++ CC=arm-arago-linux-gnueabi-gcc
4.修改源码目录下面的config.h(没配置之前是没有这个文件的),注释掉 #define malloc rpl_malloc
5.编译
$ make -j4
在iperf-2.0.5/src/下会生成iperf这个文件,这个就是我们需要的。将这个文件拷到ARM的文件系统中去。这样PC端和ARM端的都有了。
至于iperf的使用,就不多介绍了,直接在网上copy一段下来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)