测试tcp服务的端口是否可用,可以使用:

telnet ip port
 
但是如果这个用在upd服务上,就会报错, 因为telnet走的是tcp协议, 比如说192.168.80.131在8888端口上上启了个udp的服务,这时使用telnet 192.168.80.131 8888,就会报如下错误:
Trying 192.168.80.131...
telnet: connect to address 192.168.80.131: Connection refused
 
此时, 可以使用nc这个工具, 大多数的发行版都自带这个工具, fedora 9的/usr/bin/nc所属的安装包是nc-1.84-16.fc9.i386。
 
服务端监听:
nc -l -u 192.168.80.129 8001
 
客户端:
使用命令nc -u 192.168.80.129 8001, 在这里输入字符串, 服务端就会回显相同的字符串,表示8001端口上的udp服务是否启用.
 
suse上的是用netcat, 方法基本上差不多:
netcat -l -u -p 8001  这样就可以在0.0.0.0上侦听udp的8001端口
 
从另外一台机器,或者打开本机的另外一个虚拟终端, 输入:
netcat -u 192.168.1.123 8001  在这里输入字符串, 就会回显一个相同的字符串,表示链接是OK的。
 
探测UDP端口通不通,使用如下参数:
nc -vuz 112.91.151.10 4500
如果通,显示如下:
[112.91.151.10] 500 (isakmp) open
如果端口不通,显示如下:
112.91.151.10: inverse host lookup failed: 
(UNKNOWN) [112.91.151.10] 4500 (ipsec-nat-t) : Connection refused
但是要注意,如果对端开启了防火墙,防火墙把包DROP了,那么是收不到icmp端口不可达消息的,那么使用nc命令就会发现实际不通的端口是通的。仔细想想UDP的原理就清楚了,UDP不像TCP一样需要ACK,所以过一段时间没收到端口不可达,UDP就认为端口是通的,但是实际上UDP数据被防火墙DROP了。

测试udp服务的端口是否可用的更多相关文章

  1. 【swoole】如何在docker+swoole环境下测试udp服务

    前面几篇文章讲了使用 docker+swoole 环境来测试tcp服务以及如何测试,但是当我开始学习udp服务那块的时候,发现使用原来的方式在 docker+swoole 环境下行不通啦,后来发现如果 ...

  2. ESP8266开发之旅 网络篇⑩ UDP服务

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  3. linux 通过哪个命令可以查看某个服务及其端口、进程号

    netstat/lsof netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 -a 显示一个所有的有效连接信息列表(包括已建立的连接,也 ...

  4. Chargen UDP服务远程拒绝服务攻击漏洞修复教程

    一.前置说明 chargen服务最初设计用于测试网络状态,监听19端口(包括TCP和UDP),其中UDP协议存在“Chargen UDP服务远程拒绝服务攻击漏洞”. chargen一般不会使用,所以直 ...

  5. NFS服务的端口分配

    常规的一些NFS服务设置我们已经了解了.那么对于端口问题,很多朋友并不是很清楚.这里我们就来详细介绍一下端口的分配.portmapper在NFS服务启动的时候给每一个NFS服务分配了一个动态的端口,如 ...

  6. 测试DNS服务的命令

    测试DNS服务的命令 dig dig用于测试dns系统,因此不会查询hosts文件进行解析. dig - DNS lookup utility dig [@global-server] [domain ...

  7. 32.网络编程TCP/UDP服务

    网络编程TCP: 服务器端口了解: port:0~65535 web服务:80 邮箱服务:556 0~1024:为服务默认的公认端口,一般我们不能用 套接字:socket socket作用 ip:po ...

  8. 简单的UDP服务端和客户端示例

    UDP的理论不再多说,我这里直接给出一个关于UDP的HelloWorld程序,代码明了,希望对刚入门的学生有所帮助! 当然,实际上,在这块我也刚入门! 首先写服务端代码,服务端邦定本地的IP和端口来监 ...

  9. 使用 Traefik 代理 UDP 服务

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247488836&idx=1&sn=740f9aac ...

随机推荐

  1. Access to XMLHttpRequest at 'XXX' from origin 'XX' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present o AJAX跨域请求解决方法

    今天出现了一个问题找了好久先看代码: 这可能是个BUG吧插入代码: dataType: 'jsonp', crossDomain: true, 最终:

  2. js获取指定格式的时间字符串

    如下: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1- ...

  3. 漫画 | Redis常见面试问题(二)

    上期,小知和阿音在进行面试问答,可是呢,还没问完小知就表示累了想休息一会,然后就休息去了,但是,以为这样就完了吗? 当然不是,还得继续啊,嘿嘿嘿 注:对于第一种,需要应用程序自己处理资源的同步,可以使 ...

  4. Vue之组件使用(二)

    补充一下:之前没提到,这里是一个父子组件通信的方法 如果想要使同一个组件实现不同的效果,那么可以这样做. 把需要封装的组件模板写在template中 <template id="cou ...

  5. CA210彩分仪校准步骤

    1.menu(space key)2.space (08307009 U) 按键2次)->(EXT)3.BLUE(按键4次)->PAL4.enter5.0校准(0对准CAL(按住探头)出现 ...

  6. 本地服务器搭建服务:mysql

    话不多少,mysql的优劣不再此讨论. 1.官网地址:https://dev.mysql.com/downloads/mysql/ 下载页面直接  No thanks,just start my do ...

  7. JS笔记--------预编译,闭包和作用域

    (一)JS预编译四部曲: 1,创建AO对象. 2,找形参和变量声明,将变量和新参名作为AO属性名,值为undefined. 3,将实参值和形参值统一. 4,在函数体里找函数声明,值赋给函数体. (二) ...

  8. HTTPS的安全性

    一.Https介绍 1. 什么是Https HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道, ...

  9. 自定义适用于手机和平板电脑的 Dynamics 365(五):可视控件

    使用 适用于手机的 Dynamics 365 和平板电脑中的可视控件帮助移动用户更快地输入 Dynamics 365 数据并提供更丰富的可视体验. 此组自定义控件包括滑块.开关.星数评级.视频嵌入以及 ...

  10. Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本

    为Jenkins添加Windows Slave远程执行python项目脚本   by:授客 QQ:1033553122 测试环境 JAVA JDK 1.7.0_13 (jdk-7u13-windows ...