一、简介

  最近调试项目的时候有需要测试UDP连接,所以顺便研究了一下。

  MaQaQ:省流,不介意下载工具的话就直接拉到最后看Advanced Port Scanner。

二、TCP

1、telnet(需要开启telnet功能)

控制面板 -> 程序 -> 启用或关闭 Windows功能 -> Telnet client

cmd 指令:telnet ip port,如 telnet 192.168.2.2 8888

成功会直接从cmd切换成telnet的窗体:

失败会在cmd提示:

2、ssh

cmd 指令:ssh -v -p port ip,如ssh -v -p 8888 192.168.2.2

成功会在cmd显示详情:

失败会在cmd提示time out:

3、curl

cmd 指令:curl -v ip:port,如curl 192.168.2.2:8888(-v指令用于显示详情,可以不加,但加上会更直观)

成功会在cmd显示详情:

失败会在cmd提示Fail

三、UDP

1、PowerShell(测试失败,仅供尝试)

  win+x管理员打开PowerShell,执行:

$udpClient =New-Object System.Net.Sockets.UdpClient
$udpclient.Connect("192.168.2.3",8880)
$data = [System.Text.Encoding]::ASCII.GetBytes("Test")
$udpClient.Send($data,$data.Length)

  可以新建个文档存起来,比如testUdp.ps1,然后执行:powershell -ExecutionPolicy Bypass -File 文档路径

  测试了一下,不管连不连通都是一样的返回结果(数字4,应该是发送字节数),没有深究,直接弃用。

2、PortQryV2

  PortQryV2是微软提供的工具,可以测TCP/UDP,微软官网下载地址:Download PortQry Command Line Port Scanner Version 2.0 from Official Microsoft Download Center,也可以从在网盘下载,链接: https://pan.baidu.com/s/1_5ZC-m-b8PJh8F-D8sgflg?pwd=tup3 提取码: tup3,官方使用说明:使用 PortQry 命令行工具 - Windows Server | Microsoft Learn

  下载得到PortQryV2.exe,双击打开后解压即可:

  然后cmd进入到解压后文件夹的目录下,运行指令:portqry -n 服务器IP地址 -p UDP -e 端口号,PortQryV2默认为模式为TCP,所以需要指定-p UDP,如下所示:

  测试发现:

  ① PortQryV2仅在本地能测出端口关闭:

  ② 如果是另一台服务器(2.89)测试本机(2.2),则无法判断是否有进程监听:

  ③ 如果本机监听了端口+同时向测试机发送数据,那么远程测试机可以得到确定的LISTENIING状态,否则都是第②种状态:

  另外补充指令:

portqry -local 用于查询本机所有TCP/UDP端口

portqry -n 192.168.2.2 -r 1:65535 用于查询指定服务器的所有TCP端口

3、netcat

  官网下载:netcat 1.11 for Win32/Win64,网盘:https://pan.baidu.com/s/1wuwd5qTRc2FxCaNgFnjsHg?pwd=s6yb 提取码: s6yb,这个解压的时候会被杀软识别到,记得关掉杀软或者手动去隔离区捞回来。

  同样是cmd进入到解压后文件夹的目录下,输入指令:nc -u -v -z 目标IP地址 目标端口(-u -v -z也可以直接合并成-uvz),如下:

  如果是测试远端服务器的话,要等久一点,本地的结果出来比较快。而且这个不管是否有发送数据,都会检测出来open,所以无法检测到是否有进程监听了端口。

4、Advanced Port Scanner

  官网下载: Advanced Port Scanner ,网盘:https://pan.baidu.com/s/1-geIj2AqvYHzhskJfZQRPA?pwd=h3sp 提取码: h3sp,安装的时候如果想修改文件夹位置记得勾上高级设置。

  这个是带图形化界面的,操作比较简单,可以批量查询,填上IP跟端口号即可:

  这个如果UDP没有在发送数据,就检测不到。

四、总结

1、Advanced Port Scanner比较直观,tcp跟udp都能测;

2、如果不想用工具,tcp用ssh或者curl都行,udp就根据情况吧

windows下测试TCP/UDP端口连通性的更多相关文章

  1. 怎样测试TCP&UDP端口

    TCP端口大家都知道,比如80端口,可以使用 telnet ip 80,来验证端口是否正常监听,那UDP端口是否可以同样测试呢?详细如下: 下面我们来进行测试,123端口是服务器42.11.12.13 ...

  2. [转][linux]简单的linux下的tcp/udp

    转自:https://blog.csdn.net/cabing2005/article/details/53068880 详细函数以及参数解释请看原链接. windows下的tcp/udp参考:htt ...

  3. 怎样检测TCP/UDP端口的连通性

    1 TCP端口的连通性 TC端口的连通性,一般通过telnet检测: TCP协议是面向连接的,可以直接通过telnet命令连接 telnet host-ip port 2 UDP端口的连通性 因为公司 ...

  4. TCP/UDP端口列表

    http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表     本条目可通过翻译外语维 ...

  5. Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理

    通过我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做.至 ...

  6. windows下Jmeter压测端口占用问题(亲测有效)

    windows下Jmeter压测端口占用问题 1 报错信息描述 压测的初期,在设置了 150qps/s 的并发数下压测几分钟后 Jmeter 就出现了如下报错. JAVA.NET.BINDEXCEPT ...

  7. windows下测试flask的例子tuorial报错flask KeyError: 'DATABASE'

    windows下测试flask的例子tuorial报错flask KeyError: 'DATABASE' flask KeyError: 'DATABASE' 提示是 变量 database错误 由 ...

  8. 常用的TCP/UDP端口

    已知的TCP/UDP端口可以在wikipedia上找到: List of TCP and UDP port numbers, 太多了,按组列举了最常用的,如下: FTP:21SSH:22Telnet: ...

  9. 获取Windows下某进程监听的TCP/UDP端口

    1.在Windows下用CMD netstat命令可以获得当前进程监听端口号的信息,如netstat -ano可以看到IP.port.状态和监听的PID. 那么可以执行CMD这个进程得到监听的端口号信 ...

  10. Nacos集群配置实例(windows下测试)

    1.首先 fork 一份 nacos 的代码到自己的 github 库,然后把代码 clone 到本地. git地址:https://github.com/alibaba/nacos.git 2.然后 ...

随机推荐

  1. Qt编写地图综合应用25-echart动态交互

    一.前言 之前用echart组件做过各种效果,随着各种现场应用现场项目的增多,各种需求也都慢慢增加起来,为了满足各种不同类型的需求,近期又抽空重新整理和封装了echart类,主要就是增加了不少的js函 ...

  2. Qt音视频开发5-vlc事件订阅

    一.前言 事件订阅可以拿到文件长度.播放进度.播放状态改变等信息,vlc的事件订阅机制封装的比较友好,只需要先创建一个事件管理器,然后逐个订阅自己感兴趣的需要的事件,不感兴趣的可以不要订阅,只有订阅了 ...

  3. Sqlsugar 跨库查询小心得(同服务器不同数据库)

    同一个服务器下的不同数据库,目前还没有进行跨服务器的查询,以后有待研究-- 1.使用的是Left Join左查询,因此连接字符串应该是写的第一个表所在的数据库的连接字符串 假设数据库A,B,连接字符串 ...

  4. milvus基础

    nlist和nprobe nlist 是调用 create_index 时设置的参数,nprobe 则是调用 search 时设置的参数. IVFLAT 和 SQ8 索引都是通过聚类算法把大量的向量划 ...

  5. functional-requirement

    功能需求 基于GeoServer现有功能,以地图展示和服务管理为核心,实现一张图DEMO. 1. 地图展示 树状展示各种地图服务,并以地图的形式展示出来. 2. 服务管理 树状管理各种地图服务,包括添 ...

  6. 《深入理解Mybatis原理》MyBatis数据源与连接池详解

    MyBatis数据源DataSource分类 MyBatis把数据源DataSource分为三种: UNPOOLED 不使用连接池的数据源 POOLED 使用连接池的数据源 JNDI 使用JNDI实现 ...

  7. C# 文件分割和文件合并

    C# 文件分割和文件合并 void SplitFile() { string sourceFile = "Old.mp4"; // 源文件路径 string outputFile1 ...

  8. 微服务实战系列(十)-网关高可用之中间件Keepalived-copy

    1.场景描述 因为要做网关的高可用,用到了keepalived+nginx,来保证nginx的高可用,如下图: 安装了keepavlived,走了一些弯路,记录下吧,nginx的安装就不多说了,博客已 ...

  9. MQ的定时任务改装,实现自定义定时:MQ+redis

    package com.*.server.live.listener; import com.*.common.core.entity.constant.LiveConstant; import co ...

  10. 面试题: == 和 equals() 区别【包装类重写了object类中的equals方法】

    /* * * 面试题: == 和 equals() 区别 * * 一.回顾 == 的使用: * == :运算符 * 1. 可以使用在基本数据类型变量和引用数据类型变量中 * 2. 如果比较的是基本数据 ...