几种验证端口开启的方法

林十二
• 阅读 373

TLDR

macOS下, 验证服务器端口是否连通的方法

  • [telnet](# telnet)
  • [nc](# netcat(nc))
  • [nmap](# nmap)

tip: 扫描端口时,需要注意不要违反网络安全规定,避免对他人的网络造成不必要的干扰和损害。

背景

网络相关的记忆, 都就着饭吃到肚子里了🙄

今天需要验证服务器端口是否可以连通, 找到了几种方法, 简单记录一下

telnet

telnet 命令是一个用于测试网络连接的工具,可以模拟客户端与服务器之间的连接,以检查服务器端口是否可以正常连接。telnet 命令最初是由美国计算机科学家 Simon S. Lam 开发的,用于在 UNIX 系统上测试网络连接。后来,telnet 命令被广泛应用于各种操作系统和网络设备中,成为了一种通用的网络测试工具。

telnet 命令可以通过终端或命令行界面使用,可以连接到任何支持 TCP 或 UDP 协议的服务器,以测试服务器端口是否可以正常连接。telnet 命令可以模拟客户端与服务器之间的连接,可以发送和接收数据,以检查服务器的响应是否正常。telnet 命令通常用于测试 Web 服务器、邮件服务器、FTP 服务器等等,以确保这些服务器可以正常工作。

安装

macOS M1

brew install telnet

使用

  1. 打开terminal
  2. 输入命令telnet server port. Eg: telnet localhost 5910
  3. 敲回车
  4. 如果出现下方格式的内容, 证明相应的服务、端口可以连通
Trying ::1...
Connected to localhost.
Escape character is '^]'.
  1. 按下ctrl + ], 再输入quit, 回车. 即可退出telnet命令

netcat(nc)

nc 命令是一个用于测试网络连接的工具,也称为 netcat。它可以用于创建 TCP 或 UDP 连接,发送和接收数据,以及监听端口等操作。nc 命令最初是由开发者 Hobbit 开发的,后来被其他开发者维护和扩展,成为了一个通用的网络工具。

nc 命令是开源的,可以在 GitHub 上找到相关的源代码。nc 命令的源代码托管在多个仓库中,其中一些仓库包含了不同版本的 nc 命令实现

安装

macOS 13.4 自带nc, 无需安装

使用

  1. 打开terminal
  2. 输入nc -zv localhost 5910, 敲回车
  3. 如果出现如下格式的信息, 证明连接成功
Connection to localhost port 5910 [tcp/*] succeeded!
  1. 如果出现如下格式的信息, 则连接失败
nc: connectx to localhost port 5911 (tcp) failed: Connection refused

常用参数

-zv 参数表示在扫描端口时,不发送数据,只显示详细信息。-z 参数表示只扫描端口,不发送数据,-v 参数表示显示详细信息。因此,-zv 参数的含义是只扫描端口,并显示详细信息,但不发送数据。这个参数通常用于快速检查服务器端口是否开启。

  • -l:监听模式,用于在指定端口上监听连接请求。
  • -p:指定端口号。
  • -u:使用 UDP 协议。
  • -w:设置超时时间。
  • -z:只扫描端口,不发送数据。
  • -v:显示详细信息。

nmap

nmap 命令是一个用于网络探测和安全审计的工具,可以用于扫描主机和端口,识别操作系统和服务等。nmap 命令最初是由开发者 Fyodor(Gordon Lyon)开发的,后来被其他开发者维护和扩展,成为了一个通用的网络工具。

nmap 命令是开源的,您可以在 GitHub 上找到相关的源代码。nmap 命令的源代码托管在官方的 Git 仓库中,您可以通过以下链接访问:

  • [https://github.com/nmap/nmap](vscode-file://vscode-app/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/code/electron-sandbox/workbench/workbench.html)

安装

macOS M1

brew install nmap

使用

扫描常用端口

  1. 打开terminal
  2. 输入nmap localhost, 敲回车
  3. 显示结果(默认只扫描常用的1000个端口)
Starting Nmap 7.94 ( https://nmap.org ) at 2023-07-19 11:04 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 995 closed tcp ports (conn-refused)
PORT     STATE SERVICE
5910/tcp open  cm
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

扫描指定端口

  1. 打开terminal
  2. 输入nmap -p 5910 localhost, 敲回车
  3. 显示结果
Starting Nmap 7.94 ( https://nmap.org ) at 2023-07-19 11:18 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00023s latency).
Other addresses for localhost (not scanned): ::1

PORT     STATE SERVICE
5910/tcp open  cm

Nmap done: 1 IP address (1 host up) scanned in 0.02 seconds
点赞
收藏
评论区
推荐文章
芝士年糕 芝士年糕
2年前
关于windows杀死某个端口号进程的方法
背景有些时候我们需要强制杀死某个端口号的进程,以释放被占用的端口号,那么我们可以通过以下方法处理。环境:3A服务器搭建的windows系统步骤1:打开终端winr的方式,打卡运行框,输入cmd按下回车,打开终端步骤2:查找被占用的端口号的pid号比如我们要查找8080端口的pid号,那么在终端中输入netstatano|findstr8080,找到
liuzhen007 liuzhen007
3年前
mac端口被占用问题
目录1.查找被占用的端口2.干掉占用的服务或应用正文本文主要介绍一下mac系统,端口被占用的一般处理方法。1.查找被占用的端口本次遇到的是8081端口被占用了,系统一直提示端口被占用,于是用如下命令查看:lsofi:8081这个命令感觉比docker(linux)要简要一些,如果需要查看docker端口占用的处理方法,可以点击参考链接。
Stella981 Stella981
3年前
Linux端口转发的几种常用方法
在一些实际的场景里,我们需要通过利用一些端口转发工具,比如系统自带的命令行工具或第三方小软件,来绕过网络访问限制触及目标系统。本文总结了Linux端口转发的一些常用方法,欢迎补充和指正。01、SSH端口转发SSH提供了一个非常有意思的功能,就是端口转发,它能够将其他TCP端口的网络数据通过SSH链接来转发,并且自
Wesley13 Wesley13
3年前
Ubuntu 14.04 搭建 ftp
一、安装ftp服务器vsftpd$sudoaptgetupdate$sudoaptgetinstallvsftpdftp服务器使用21端口,安装成功之后查看是否打开21端口$sudonetstatnpltu|grep21tcp       0     00.0.0.0:21             0.
Stella981 Stella981
3年前
Kerberos无约束委派的攻击和防御
 0x00前言简介当ActiveDirectory首次与Windows2000Server一起发布时,Microsoft就提供了一种简单的机制来支持用户通过Kerberos对Web服务器进行身份验证并需要授权用户更新后端数据库服务器上的记录的方案。这通常被称为Kerberosdoublehopissue(双跃点问题),
Stella981 Stella981
3年前
Nginx proxy_set_header 理解
用户认证接口:根据客户端IP和port,进行IP反查和端口范围确认,如符合则用户认证通过。当前使用的是Nginx负载均衡,从客户端到Nginx端ip和port都对,从Nginx到应有服务器上port端口变成很奇怪的端口号。真是遇到的问题,登录页的ip和port在登录验证没有问题,但在登录完成后跳转的时候,端口号发生了变化。跟nginx服务器
Stella981 Stella981
3年前
Docker多容器连接
Docker提供了多个容器之间访问的方法,最简单的方式是直接使用端口映射p参数指定映射的端口或者P映射所有端口,多个容器直接通过网络端口进行访问。但网络端口映射方式并不是Docker中连接多个容器的唯一方式,还可以使用Docker的连接系统(link)连接多个容器,当容器连接到一起时,接受者容器就可以看到源容器的信息。建立容器
Stella981 Stella981
3年前
Asp.Net Core微服务再体验
ASP.NetCore的基本配置.在VS中调试的时候有很多修改Web应用运行端口的方法。但是在开发、调试微服务应用的时候可能需要同时在不同端口上开启多个服务器的实例,因此下面主要看看如何通过命令行指定Web应用的端口(默认5000)可以通过设置临时环境变量ASPNETCOREURLS来改变默认的端口、域名,也就
Stella981 Stella981
3年前
Http代理穿透
原理HTTP代理服务器中能够提供一种HTTPCONNECT代理服务,能够允许用户建立TCP连接到任何端口。通过CONNECT方法穿透代理的实现方法为:CONNECT代理服务器的代理端口(如:8080);如果成功返回就可以按照正常的Socket进行通讯。当然在此之前需要先获得代理相关的信息。如何获取HTTP代理相关信息程序中是通过
3A网络 3A网络
2年前
Docker安装RabbitMQ详细步骤
Docker安装RabbitMQ详细步骤前提:1、在服务器的安全组和防火墙中放通相对应的端口,操作系统:centos7.6,需要放通5672和15672端口2、登录自己的Linux系统服务器3、关闭服务器内部的firewalld防火墙4、开启内核端口转发:通过vim/etc/sysctl.conf把里面的net.ipv4.ipforward0修改为
林十二
林十二
Lv1
沧海月明珠有泪,蓝田玉暖日生烟!此情可待成追忆,只是当时以惘然!
文章
3
粉丝
0
获赞
0