linux netcat测试udp端口,使用 Netcat 测试虚拟机 TCP/UDP 端口连通性

使用 Netcat 测试虚拟机 TCP/UDP 端口连通性

05/23/2018

本文内容

Netcat 是一个用于 TCP/UDP 连接和监听的工具,主要用于网络传输和调试。本文主要介绍如何使用 Netcat 测试 Windows/Linux 虚拟机 TCP/UDP 端口的连通性。主要包含以下内容:

前提条件

使用 Azure 门户创建 Linux 虚拟机 和 Windows 虚拟机。本文 Linux 虚拟机使用的是 CentOS 镜像,Windows 虚拟机使用的是 Windows server 2012 DataCenter 镜像。

在客户端和服务器端虚拟机上分别安装 Netcat 工具。

Linux 虚拟机 ( Centos 版本) 安装命令如下:

sudo yum install nc

Windows 虚拟机可以从 Internet 下载 Netcat 工具包。

Linux OS 环境下,使用 Netcat 命令分别测试 TCP/UDP 端口连通性

测试 TCP 端口连通性

本示例创建一台 Azure Linux 虚拟机做为服务器,通过 5000 端口测试 TCP 端口连通性,具体步骤如下:

通过 Azure 门户选中创建的 Linux 虚拟机,在边栏选项卡中选中网络,在网络安全组中添加 TCP 5000 入站端口规则。

f8ae907bf654d62adf37f53376f0c56e.png

备注

注意网络安全组规则的优先级,确保入站规则有效,并处于 “允许” 状态。

默认情况下 Linux 虚拟机中未启用 “iptables” 服务,如果启用 “iptables” 服务,则需要在 “iptables” 中打开相应的端口。在本示例中 Linux 虚拟机未启用 iptables 服务。

远程连接到 Linux 虚拟机,安装 Netcat 工具之后,执行以下命令,实现 TCP 方式监听服务器 5000 端口

nc -l -v

备注

-l:指明 Netcat 处于 TCP 监听模式;-v:用于显示详细信息。

如果想要退出监听模式,可以使用 Ctrl + C 。

必须要先在服务器端监听端口,然后在客户端访问该端口,才能建立连接。

在安装有 Netcat 的客户端机器上,执行以下命令:

nc

在客户端输入如上命令后,可以在客户端输入任意字符,我们可以看到,客户端输入的字符均会在服务器端打印出来。测试结果如下:

客户端(本示例客户端使用的是 Linux 虚拟机,如果客户端机器是 Windows 系统,使用 cmd 命令提示符进入到 nc.exe 所在目录,然后执行如上命令):

4085340979291ad873aefc48e84bbe3c.png

服务器端:

327df5457ff99083dd1de2a88aa3de06.png

测试 UDP 端口连通性

通过 Azure 门户选中创建的 Linux 虚拟机 ,在边栏选项卡中选中网络,在网络安全组中添加 UDP 5001 入站端口规则。

c0824684c07b47c5202493dd7f5e5a95.png

备注

注意网络安全组规则的优先级,确保入站规则有效,并处于 “允许” 状态。

默认情况下 Linux 虚拟机中未启用 “iptables” 服务,如果启用 “iptables” 服务,则需要在 “iptables” 中打开相应的端口。在本示例中 Linux 虚拟机未启用 iptables 服务。

远程连接到 Linux 虚拟机,安装 Netcat 工具之后,执行以下命令,实现 UDP 方式监听 5001 端口

nc -lu -v

备注

-lu:指明 Netcat 处于 UDP 监听模式;-v:用于显示详细信息。

如果想要退出监听模式,可以使用 Ctrl + C 。

必须要先在服务器端监听端口,然后在客户端访问该端口,才能建立连接。

在安装有 Netcat 的客户端机器上,执行以下命令:

nc -u

在客户端输入如上命令后,可以在客户端输入任意字符,我们可以看到,客户端输入的字符均会在服务器端打印出来。测试结果如下:

客户端(本示例客户端使用的是 Linux 虚拟机,如果客户端机器是 windows 系统,使用 cmd 命令提示符进入到 nc.exe 所在目录,然后执行如上命令):

9e112c32559b575d3152a84106561532.png

服务器端:

606bbe70d7bc11992f85ea4b078ed550.png

Windows OS 环境下,使用 Netcat 命令分别测试 TCP/UDP 端口连通性

测试 TCP 端口连通性

本示例创建一台 Azure Windows 虚拟机做为服务器,本地 Windows 计算机做为客户端,客户端和服务器通过 5000 端口相连,具体步骤如下:

通过 Azure 门户选中 Windows 虚拟机 ( dillionvm ),在边栏选项卡中选中网络,在网络安全组中添加 TCP 5000 入站端口规则。

e92070779154a1adff1bcd2497d21019.png

重要

注意网络安全组规则的优先级,确保入站规则有效,并处于 “允许” 状态。

对于 Windows 虚拟机,从 Azure 门户添加完入站端口规则之后,需要远程连接到虚拟机,在防火墙中添加相对应的 TCP 入站规则。

远程连接到 Azure Windows 虚拟机,使用 cmd 命令导航至 nc.exe 所在目录,执行以下命令,实现 TCP 方式监听服务器端 5000 端口。

nc -l -p -v

备注

-l:指明 Netcat 处于 TCP 监听模式;-p : 指定端口号;-v:用于显示详细信息。

如果想要退出监听模式,可以使用 Ctrl + C 。

必须要先在服务器端监听端口,然后在客户端访问该端口,才能建立连接。

在安装有 Netcat 的客户端机器上,执行以下命令:

nc

在客户端输入如上命令后,可以在客户端输入任意字符,然后按回车键,我们可以看到,客户端输入的字符均会在服务器端打印出来。测试结果如下:

客户端:

0dd2435cbd9c563a8f63fffd9d4e8bf6.png

服务器端:

5bccbb9afce848bb71b570b3e8dc4561.png

测试 UDP 端口连通性

通过 Azure 门户选中 Windows 虚拟机 ( dillionvm ) ,在边栏选项卡中选中网络,在网络安全组中添加 UDP 5001 入站端口规则。

b9be91e18bc94be8773beacb6f0ba908.png

重要

注意网络安全组规则的优先级,确保入站规则有效,并处于 “允许” 状态。

对于 Windows 虚拟机,从 Azure 门户添加完入站端口规则之后,需要远程连接到虚拟机,在防火墙中添加相对应的 UDP 入站规则。

远程连接到 Azure Windows 虚拟机,使用 cmd 命令导航至 nc.exe 所在目录,执行以下命令,实现 UDP 方式监听服务器 5001 端口。

nc -lu -p -v

备注

-lu:指明 Netcat 处于 UDP 监听模式;-p:指定端口号;-v:用于显示详细信息。

如果想要退出监听模式,可以使用 Ctrl + C 。

必须要先在服务器端监听端口,然后在客户端访问该端口,才能建立连接。

在安装有 Netcat 的客户端机器上,执行以下命令:

nc -u

在客户端输入如上命令后,可以在客户端输入任意字符,然后按回车键,我们可以看到,客户端输入的字符均会在服务器端打印出来。测试结果如下:

客户端:

977e18ca19f456ccba5c7ccb5cee5dac.png

服务器端:

e519b3337ad955f81d0daacf36ed6fa1.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值