怎么在Linux服务器上测试TCPUDP端口的连通性

怎么在Linux服务器上测试TCPUDP端口的连通性,第1张

翻译自:

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工具已经安装

在CODE上查看代码派生到我的代码片

# 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一段下来。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8466301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存