一、简介

  最近调试项目的时候有需要测试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项目升级到Qt6吐血经验总结

    Qt的版本发布越来越频繁,Qt6发布已经有一段时间了,越来越多的人咨询之前的代码是否可以增加对Qt6的支持,包括开源的项目QWidgetDemo(一年时间超过2.6K star),近期百忙之中,对所有 ...

  2. [转]java中带图片按钮的大小设置

    在java部分需要用到图形界面编程的项目中,经常会使用图片设置对按钮进行美化,但是使用时会出现一个很麻烦的问题,那就是按钮的大小默认按照图片的大小来显示,这大大降低了界面的美观程度: 按照方法: JB ...

  3. 单片机的主程序中为什么都要加一个while(1)?

    *** * C51 为什么都要加一个while(1)?****** while(1)的作用: while(1) 是一个死循环 为了不让代码继续向下执行. 单片机中使用while(1),大部分:为了防止 ...

  4. Note -「q-analog」组合意义灭天地

      (搁置, 填坑看心情.) \[\mathfrak{Defining~\LaTeX~macros\cdots} \newcommand{\qnum}[1]{\lbrack{#1}\rbrack_q} ...

  5. 【Git】---工作区、暂存区、版本库、远程仓库

    工作区.暂存区.版本库.远程仓库 一.概念 1.四个工作区域 Git本地有四个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或 ...

  6. 分库分表(1) --- ShardingSphere(理论)

    ShardingSphere---理论 ShardingSphere在中小企业需要分库分表的时候用的会比较多,因为它维护成本低,不需要额外增派人手;而且目前社区也还一直在开发和维护,还算是比较活跃. ...

  7. 分布式多级缓存(本地缓存,redis缓存)

    结构包: 使用案例: 实现效果: 1.基本并发的本地缓存,基于分布式轻量级锁的redis缓存 2.热缓存(高频访问持续缓存)+快速过期(本地缓存2秒,redis缓存10秒) 3.方法级别缓存清理 (@ ...

  8. Rust多线程中安全的使用变量

    在Rust语言中,一个既引人入胜又可能带来挑战的特性是闭包如何从其所在环境中捕获变量,尤其是在涉及多线程编程的情境下. 如果尝试在不使用move关键字的情况下创建新线程并传递数据至闭包内,编译器将很可 ...

  9. 一种提升SQL改写效率的方法

    本文分享自天翼云开发者社区<一种提升SQL改写效率的方法>,作者:唐****律 一.背景 SQL改写是数据库产品中使用比较频繁的一个技术,在大多数产品中的调用频率也非常高,通常对性能的需求 ...

  10. Q:浏览器打开控制台报错:net::ERR_CONTENT_LENGTH_MISMATCH 206

    一.问题描述 F12查看浏览器的控制台,提示net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) ,如下图, HTTP状态码206表示" ...