Linux 测试端口是否放行

1、准备

首先准备两台服务器:服务器A、服务器B

在服务器A装上端口测试工具netcat

yum list | grep netcat

在这里插入图片描述

yum install netcat

2、在 CentOS 7 上放行端口,你可以使用以下方法:

  1. 使用 firewalld(推荐):

    • 检查 firewalld 服务状态:
      sudo systemctl status firewalld
      
    • 如果 firewalld 未运行,则启动它:
      sudo systemctl start firewalld
      
    • 检查防火墙状态:
      sudo firewall-cmd --state
      
    • 如果防火墙处于非活动状态,启用它:
      sudo systemctl enable firewalld
      sudo systemctl restart firewalld
      
    • 放行端口:
      sudo firewall-cmd --zone=public --add-port=20/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=21/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=22222/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=11111/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=10000/tcp --permanent
      
    • 更新防火墙规则:
      sudo firewall-cmd --reload
      
  2. 使用 iptables:

    • 检查 iptables 服务状态:
      sudo systemctl status iptables
      
    • 如果 iptables 未运行,则启动它:
      sudo systemctl start iptables
      
    • 检查防火墙状态:
      sudo iptables -L -n
      
    • 如果防火墙处于非活动状态,启用它:
      sudo systemctl enable iptables
      sudo systemctl restart iptables
      
    • 放行端口:
      sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 22222 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 11111 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
      
    • 保存 iptables 规则:
      sudo service iptables save
      

以上方法将允许指定端口通过 CentOS 7 的防火墙。请记住,这些设置可能需要管理员权限进行操作(使用 sudo)。

4、错误解决:[root@localhost backup]# netcat -l -p 11111 netcat: cannot use -p and -l 装了netcat不能用

如果你在使用 netcat 命令时遇到 “-p” 和 “-l” 参数不能同时使用的问题,可能是因为你的 netcat 版本较老,不支持同时使用这两个参数。

你可以尝试使用不同的方法启动监听模式来代替 “-l -p” 参数的使用。以下是两种可能的替代方法:

  1. 使用 nc 监听端口(替代 “-p” 和 “-l”):

    nc -vv -l 11111
    
  2. 使用 socat 命令作为 netcat 的替代品:

    socat TCP-LISTEN:11111,reuseaddr,fork -
    

请确保你已经正确安装了 netcat 或 socat。如果你没有安装 netcat 或 socat,你可以使用包管理器(如 apt、yum 等)进行安装,或者从官方网站下载并手动安装。

可以了,那我另一台机器怎么访问这个端口去测试

要从另一台机器上的终端访问已在第一台机器上开放的端口进行测试,你可以使用以下命令:

nc <第一台机器的 IP 地址> 11111

需要将 “<第一台机器的 IP 地址>” 替换为第一台机器的实际 IP 地址。这将建立一个与第一台机器指定端口的 TCP 连接。

如果连接成功,你可以在第二台机器的终端上键入任何内容并按 Enter 发送,这些内容将被发送到第一台机器上的端口。你可以通过观察第一台机器上终端的输出来验证连接和通信是否成功。

5、能用telnet去测试吗

是的,你可以使用 telnet 命令在另一台机器上测试连接到开放的端口。请确保你的机器上安装了 telnet 客户端。

在命令提示符下,使用以下命令连接到第一台机器的指定端口:

telnet <第一台机器的 IP 地址> 11111

将 “<第一台机器的 IP 地址>” 替换为实际的 IP 地址,“11111” 替换为已开放的端口号。

如果连接成功,你将看到终端打印出与该端口的连接信息。你可以在 telnet 连接建立后向服务器发送数据进行测试。

注意:如果 telnet 连接不成功,或者 telnet 命令未找到,可能需要安装 telnet 客户端或确认目标机器的防火墙是否允许传入的 telnet 连接。

6、效果:

服务器A:
在这里插入图片描述
服务器B:
在这里插入图片描述

  • 在服务器B链接要测试的服务器端口,并输入字符,服务器A那边会将收到的字符显示出来,这就表示端口可以用,反之直接连接不上根本输入不了
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Linux测试端口命令有很多,其中常用的有以下几种: 1. telnet命令:用于测试TCP端口是否开放,语法为telnet IP地址 端口号。 2. nc命令:也是用于测试TCP端口是否开放,语法为nc -vz IP地址 端口号。 3. ping命令:用于测试主机是否可达,语法为ping IP地址。 4. traceroute命令:用于测试网络路径,语法为traceroute IP地址。 5. nmap命令:用于扫描主机开放的端口,语法为nmap -p 端口号 IP地址。 以上是常用的Linux测试端口命令,可以根据需要选择使用。 ### 回答2: 在使用Linux操作系统进行网络测试时,了解一些常用的端口测试命令是非常重要的。下面将介绍一些常用的Linux测试端口命令: 1. ping命令:这个命令用于测试网络是否连接正常。使用方法:ping [IP地址] (例如:ping 192.168.1.2)。 2. telnet命令:这个命令用于测试端口是否开放。使用方法:telnet [IP地址] [端口号] (例如:telnet 192.168.1.2 80)。 3. netstat命令:这个命令可以查看本地网络连接状态。使用方法:netstat -an | grep [端口号] (例如:netstat -an | grep 80)。 4. nmap命令:这个命令可以扫描网络主机和端口。使用方法:nmap [IP地址] (例如:nmap 192.168.1.2)。 5. nc命令:这个命令可以测试TCP和UDP端口是否打开。使用方法:nc -vz [IP地址] [端口号] (例如:nc -vz 192.168.1.2 80)。 这些命令可以帮助用户快速地进行网络测试,并找到网络故障的根本原因。需要注意的是,在使用这些命令时,用户需要有一定的Linux基础知识,避免错操作造成损失。 ### 回答3: 在Linux系统下,我们可以使用一些命令来测试端口,以便确定某个端口是否被占用,或者是否能够与该端口建立连接。 1. ping命令 ping命令可以用来测试网络连通性,判断某个主机是否能够访问。例如: ping 192.168.1.1 这个命令会向主机192.168.1.1发送4个数据包以测试网络连通情况。 2. telnet命令 telnet命令可以用来测试某个端口是否能够正常建立连接。例如: telnet 192.168.1.1 80 这个命令会尝试连接192.168.1.1的80端口,如果连接成功则说明该端口可用,否则说明该端口不可用。 3. nc命令 nc命令也可以用来测试端口是否开放,其用法与telnet类似。例如: nc -v 192.168.1.1 80 -v表示显示连接的详细过程,这个命令同样会尝试连接192.168.1.1的80端口。 4. nmap命令 nmap命令可以用来扫描网络上的设备和端口信息,可以用来查看网络上哪些设备有哪些开放的端口。例如: nmap -sS 192.168.1.0/24 这个命令会扫描192.168.1.0/24网段内的所有设备,并显示这些设备开放的端口信息。 总之,针对不同的需求,可以使用不同的命令来测试端口。在Linux系统下,这些命令提供了非常方便的工具,帮助我们更容易地管理网络和服务器
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmallFatMan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值