测试端口开通的几种方法
一、前言
在平时使用中,当测试服务器端口是否开通时,我们首先想到的是Telnet,如下:
[root@k8s-master01 ~]# telnet 192.168.1.33 6443
Trying 192.168.1.33...
Connected to 192.168.1.33.
Escape character is '^]'.
但是实际生产环境可能不允许我们使用Telnet工具,此时我们只能使用其他工具进行测试端口是否开通。除Telnet工具外,支持测试端口开通的工具有Curl、SSH、nc、wget、nmap。
二、工具介绍
2.1、curl
命令格式:
$ curl ip:port
成功示例说明:
lckd@lckd-PC:~$ curl 192.168.210.27:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>
失败示例说明:
lckd@lckd-PC:~$ curl 192.168.210.27:8081
curl: (7) Failed to connect to 192.168.210.27 port 8081: 拒绝连接
2.2、ssh
命令格式:
$ ssh -v -p port username@ip
上面参数说明:
-v: 是ssh命令的一个选项,用于启用详细输出模式(verbose mode)--p port: 是ssh命令的另一个选项,用于指定连接远程服务器时要使用的端口号username: 要连接到远程服务器的用户名ip: 是远程服务器的 IP 地址或主机名
成功示例说明:
lckd@lckd-PC:~$ ssh -v -p 80 192.168.210.27
OpenSSH_7.9p1 Debian-1+dde, OpenSSL 1.1.1d 10 Sep 2019
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.210.27 [192.168.210.27] port 80.
debug1: Connection established.
debug1: identity file /home/lckd/.ssh/id_rsa type -1
debug1: identity file /home/lckd/.ssh/id_rsa-cert type -1
debug1: identity file /home/lckd/.ssh/id_dsa type -1
debug1: identity file /home/lckd/.ssh/id_dsa-cert type -1
debug1: identity file /home/lckd/.ssh/id_ecdsa type -1
debug1: identity file /home/lckd/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/lckd/.ssh/id_ed25519 type -1
debug1: identity file /home/lckd/.ssh/id_ed25519-cert type -1
debug1: identity file /home/lckd/.ssh/id_xmss type -1
debug1: identity file /home/lckd/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.9p1 Debian-1+dde
debug1: ssh_exchange_identification: HTTP/1.1 400 Bad Requestdebug1: ssh_exchange_identification: Server: nginx/1.18.0 (Ubuntu)debug1: ssh_exchange_identification: Date: Wed, 15 Nov 2023 06:10:29 GMTdebug1: ssh_exchange_identification: Content-Type: text/htmldebug1: ssh_exchange_identification: Content-Length: 166debug1: ssh_exchange_identification: Connection: closedebug1: ssh_exchange_identification:debug1: ssh_exchange_identification: <html>debug1: ssh_exchange_identification: <head><title>400 Bad Request</title></head>debug1: ssh_exchange_identification: <body>debug1: ssh_exchange_identification: <center><h1>400 Bad Request</h1></center>debug1: ssh_exchange_identification: <hr><center>nginx/1.18.0 (Ubuntu)</center>debug1: ssh_exchange_identification: </body>debug1: ssh_exchange_identification: </html>ssh_exchange_identification: Connection closed by remote host
失败示例说明:
lckd@lckd-PC:~$ ssh -v -p 8081 192.168.210.27
OpenSSH_7.9p1 Debian-1+dde, OpenSSL 1.1.1d 10 Sep 2019
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.210.27 [192.168.210.27] port 8081.
debug1: connect to address 192.168.210.27 port 8081: Connection refused
ssh: connect to host 192.168.210.27 port 8081: Connection refused
2.3、nc
命令格式:
$ nc -zv ip port
上面参数说明:
nc: 是用于在命令行中进行网络连接的工具,也称为netcat。-v: 是nc命令的一个选项,用于启用详细输出模式(verbose mode)-z: 是nc命令的另一个选项,用于指示nc在连接成功后立即关闭连接,而不发送或接收任何数据。这使得nc仅用于测试连接,而不会执行实际数据传输。ip: 是远程服务器的 IP 地址或主机名port: 是远程服务器的端口号
成功示例说明:
lckd@lckd-PC:~$ nc -zv 192.168.210.27 80
Connection to 192.168.210.27 80 port [tcp/http] succeeded!
失败示例说明:
lckd@lckd-PC:~$ nc -zv 192.168.210.27 8081
nc: connect to 192.168.210.27 port 8081 (tcp) failed: Connection refused
2.4、wget
命令格式:
$ wget ip:port
成功示例说明:
lckd@lckd-PC:~$ wget 192.168.210.27:80
--2023-11-15 14:15:13-- http://192.168.210.27/
正在连接 192.168.210.27:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:612 [text/html]
正在保存至: “index.html.1”index.html.1 100%[=================================================>] 612 --.-KB/s 用时 0s2023-11-15 14:15:13 (124 MB/s) - 已保存 “index.html.1” [612/612])
失败示例说明:
lckd@lckd-PC:~$ wget 192.168.210.27:8081
--2023-11-15 14:15:51-- http://192.168.210.27:8081/
正在连接 192.168.210.27:8081... 失败:拒绝连接。
2.5、nmap
命令格式:
$ nmap -p port ip
如果没有,先下载。
成功示例说明:
lckd@lckd-PC:~$ nmap -p 80 192.168.210.27
Starting Nmap 7.70 ( https://nmap.org ) at 2023-11-15 14:18 CST
Nmap scan report for 192.168.210.27
Host is up (0.00027s latency).PORT STATE SERVICE
80/tcp open httpNmap done: 1 IP address (1 host up) scanned in 6.53 seconds
失败示例说明:
lckd@lckd-PC:~$ nmap -p 8081 192.168.210.27
Starting Nmap 7.70 ( https://nmap.org ) at 2023-11-15 14:19 CST
Nmap scan report for 192.168.210.27
Host is up (0.00033s latency).PORT STATE SERVICE
8081/tcp closed blackice-icecapNmap done: 1 IP address (1 host up) scanned in 0.06 seconds
相关文章:
测试端口开通的几种方法
一、前言 在平时使用中,当测试服务器端口是否开通时,我们首先想到的是Telnet,如下: [rootk8s-master01 ~]# telnet 192.168.1.33 6443 Trying 192.168.1.33... Connected to 192.168.1.33. Escape character is ^].但是实际生产…...
Linux每日智囊
每日分享三个Linux命令,悄悄培养读者的Linux技能。 rename 作用 批量修改文件名称 rename命令能够基于正则表达式对文件名进行批量修改 语法 rename [option] expression replacement file expression:文件命中需要替换的字符串 replacement:将文件名中指定…...
Word添加附件(附件图标被挡住的问题)
本文主要是为了记录一下自己使用word添加附件的时候遇到的一个坑,就是添加了附件,附件图标没有展示的问题。 选择 插入——对象,然后点击由文件创建然后再点击浏览本地电脑中的文件,选择需要添加的文件,当然也可以选择…...
【数据结构】单链表 | 详细讲解
线性表顺序存储结构的优缺点 顺序表优点 无须为了表示中间的元素之间的逻辑关系而增加额外的存储空间;因为以数组形式存储,可以快速地存取表中任一位置的元素。 顺序表缺点 插入和删除操作需要移动大量元素,时间复杂度为O(N);…...
每日一题:编写程序,使程序分别输出两个整数的加减乘除运算结果
文章目录 每日一题一、编写程序,使程序分别输出两个整数的加减乘除运算结果以下是一个使用 Java 编写的程序,可以输出两个整数的加减乘除运算结果:以下是一个简单的 Python 程序,可以计算两个整数的加减乘除运算结果: …...
alpine linux如何指定软件包安装源
永久修改apk下载源 vi etc/apk/repositories替换成阿里源 http://mirrors.aliyun.com/alpine/v3.8/main/ http://mirrors.aliyun.com/alpine/v3.8/community/更新源 apk update临时修改下载源 直接在软件安装后面 添加源地址 apk add php5.6 --repository http://nl.alpine…...
ubuntu设置脚本开机自启动
rc-local.service flexmitd1:~$ cd /lib/systemd/system/ flexmitd1:/lib/systemd/system$ ls |grep rc-local.service rc-local.service rc-local.service.d flexmitd1:/lib/systemd/system$ pwd /lib/systemd/system flexmitd1:/lib/systemd/system$确保有rc-local.service文…...
cobol-简介
cobol学习笔记 cobol概述 COBOL是一门高级语言。我们必须了解COBOL的工作方式。计算机只能理解机器代码,0和1的二进制流。 COBOL代码必须使用编译器转换成机器代码。通过编译器运行程序源码。编译器首先检查是否有任何语法错误,然后将其转换为机器语言。…...
使用 JMeter 分布式性能测试
作为一个纯 JAVA 的GUI应用,JMeter 对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。不过,JMeter 也可以像 Loa…...
【工具流】WSL2安装
一些废话 最近看到了PKU出品的cs自学指南,想要跟着里面的自学路径学国外的优质课程,无奈大多数pre教程里面都是直接Linux环境下的操作,并且我在CSwiki看到了那个熟悉的上学期学了一点的missing-semester课。 上学期自学missing-semester的时候…...
OpenGL获取GPU信息
glGetString 获取厂家信息 const GLubyte* info glGetString(GL_VENDOR); printf("GL_VENDOR:%s\n", info);info glGetString(GL_VERSION); printf("GL_VERSION:%s\n", info);info glGetString(GL_RENDERER); printf("GL_RENDER:%s\n", inf…...
毫米波雷达模块的目标检测与跟踪
毫米波雷达技术在目标检测与跟踪方面具有独特的优势,其高精度、不受光照影响等特点使其在汽车、军事、工业等领域广泛应用。本文深入探讨毫米波雷达模块在目标检测与跟踪方面的研究现状、关键技术以及未来发展方向。 随着科技的不断进步,毫米波雷达技术在…...
Linux 下 使用 Ekho 进行TTS文本转语音
官网 http://www.eguidedog.net/cn/index.phpEkho(余音)是一个免费、开源的中文语音合成软件。支持普通话、粤语。支持Linux、Windows和Android平台。 资源:https://download.csdn.net/download/weixin_44618297/88529881 参考:…...
WiFi protocol 详解
这里推荐两个 知乎上的 专题 讲的不错 802.11协议细读 - 知乎 Wi-Fi研习者 - 知乎...
llm模拟基本逻辑门
llm模拟基本逻辑门 全部代码代码解析全部代码 import paddle import numpy as np from tqdm import tqdmclass FeedFroward(paddle.nn.Layer):def __init__(self, hidden_dim)...
Linux学习第42天:Linux RS232/485/GPS 驱动实验:天外来客
Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 Linux的学习笔记今天更新到了第42天。鉴于国往笔记内容整理中出现的问题,我尽量按照平时学习时笔记的要求进行优化。尽量不再大段大段的贴代码。而是…...
CSDN每日一题学习训练——Python版(输入起始和结束的正整数,求其两个正整数之间的偶数和、两数相加)
版本说明 当前版本号[20231115]。 版本修改说明20231115初版 目录 文章目录 版本说明目录输入起始和结束的正整数,求其两个正整数之间的偶数和。题目解题思路代码思路参考代码 两数相加题目解题思路代码思路参考代码 输入起始和结束的正整数,求其两个…...
【论文】基于Hadoop的铁路货运大数据平台设计与应用
点我完整下载:基于Hadoop的铁路货运大数据平台设计与应用.docx 基于Hadoop的铁路货运大数据平台设计与应用 Design and Application of Railway Freight Big Data Platform based on Hadoop 目录 目录 2 摘要 3 关键词 4 第一章 绪论 4 1.1 研究背景 4 1.2 研究目的…...
GoF之代理模式
2023.11.12 代理模式是GoF23种设计模式之一,其作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以…...
post 和get参数 请求
json参数 post请求格式 RestController public class HelloController { //json参数 post 请求RequestMapping("/jsonParam")public String jsonParam(RequestBody User user){System.out.println(user);return "OK";} } postman 接口测试工具…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
