Linux网络命令:如何查看linux系统防火墙开放的端口有哪些?多种方法来查看系统开放的网络端口号,包括TCP端口和UDP端口

news2024/11/25 11:03:17

目录

一、概述

二、查看防火墙开放的端口号的常用方法

(一)、使用firewalld(适用于CentOS/RHEL 7+)

1. 查看firewalld状态

2. 查看所有开放的端口

3. 查看指定zone(如public)的开放端口

 (二)、使用iptables(多种Linux发行版)

1、查看iptables状态

2. 查看所有iptables规则

 (三)、使用ufw(适用于Ubuntu/Debian)

 (四)、使用 nftables

1、查看所有规则

2、查看特定链的规则

3、查看开放的端口

(五)、使用netstat或ss命令(辅助工具)

1. 使用netstat查看所有TCP监听端口

2. 使用ss命令查看监听端口

三、使用其他方法或工具

(一)、使用nmap工具

1. 安装nmap(如果尚未安装)  

2. 使用nmap扫描本地主机的开放端口  

 (二)、检查防火墙配置文件

 (三)、使用系统日志

1. 使用grep搜索日志文件中的端口信息  

2.若知道特定的端口号,可直接搜索该端口号  

 (四)注意事项

1. 权限要求

2. 准确性

3. 日志可用性

4. 安全性


一、概述

        防火墙开放的端口号指的是在网络中,允许数据通过的特定通信端口。在计算机网络中,端口号是用于区分不同网络服务的逻辑地址。每个通过网络进行通信的应用程序或服务都会使用一个或多个端口号。

        当数据包在网络中传输时,它会包含源端口号和目标端口号,这样接收设备就可以知道该将数据发送到哪个应用程序。防火墙则可以根据预定的安全规则来允许或拒绝通过这些端口号的数据。

        在Linux系统中,查看防火墙开放的端口号可以通过不同的命令来实现,具体取决于使用的防火墙软件。

二、查看防火墙开放的端口号的常用方法

(一)、使用firewalld(适用于CentOS/RHEL 7+)

1. 查看firewalld状态

   使用如下命令:

   sudo systemctl status firewalld  

       实际操作如下:

查看防火墙的状态

2. 查看所有开放的端口

        使用如下命令:  

   sudo firewall-cmd --list-ports

        实际操作如下:

所有开放的端口

3. 查看指定zone(如public)的开放端口

   使用如下命令:  

   sudo firewall-cmd --zone=public --list-ports

  

 (二)、使用iptables(多种Linux发行版)

1、查看iptables状态

        查看iptables状态(对于CentOS 6等早期版本,可以使用sudo service iptables status):

        (具体状态查看命令可能因系统配置而异,但通常iptables的状态可以通过系统服务管理工具来查看)

2. 查看所有iptables规则

查看所有iptables规则,并手动查找与开放端口相关的规则:  

   sudo iptables -L -n -v  

   或者,如果只对TCP端口感兴趣,可以使用:

   sudo iptables -L INPUT -n --line-numbers | grep ACCEPT  

   注意:这个命令只是给出了一个查看TCP输入链中允许规则的示例,实际使用时可能需要根据iptables配置进行调整。

 (三)、使用ufw(适用于Ubuntu/Debian)

查看ufw状态,使用如下命令:

   sudo ufw status  

   这个命令会列出所有的ufw规则,包括允许或拒绝的端口。

 (四)、使用 nftables

如果系统使用的是 nftables 作为防火墙管理工具,可以按照以下步骤查看开放的端口:

1、查看所有规则

sudo nft list ruleset

这将列出所有规则集中的规则。

2、查看特定链的规则

如果想查看特定链(如 input 链)的规则:

sudo nft list chain ip filter input

3、查看开放的端口

可以查找允许 TCP 或 UDP 流量进入的规则。例如,查找允许 TCP 流量进入的规则:

sudo nft list chain ip filter input | grep "accept tcp dport"

或者,查找允许 UDP 流量进入的规则:

sudo nft list chain ip filter input | grep "accept udp dport"

(五)、使用netstat或ss命令(辅助工具)

        虽然netstat或ss命令不是直接查看防火墙开放端口的工具,但它们可以显示系统上哪些端口正在被监听。这有助于了解哪些服务可能正在运行并可能通过防火墙开放端口。

1. 使用netstat查看所有TCP监听端口

      使用如下命令:

   sudo netstat -tuln

     实际操作如下:

监听的TCP端口列表

2. 使用ss命令查看监听端口

   使用ss命令查看监听端口(较新版本的Linux系统可能更常用):

   sudo ss -tuln  

       实际操作如下:

监听的端口列表

   注意:仅仅因为一个端口正在被监听,并不意味着它一定被防火墙开放。

三、使用其他方法或工具

        还可以是使用其他方法或工具可以用于此目的,但它们的适用性和准确性可能因具体的Linux发行版和防火墙配置而异。

        除了之前提到的使用firewalld、iptables、ufw以及netstat或ss命令来查看Linux防火墙开放的端口号外,还有一些其他方法或工具可以用于此目的,但它们的适用性和准确性可能因具体的Linux发行版和防火墙配置而异。以下是一些额外的建议:

(一)、使用nmap工具

Nmap(Network Mapper)是一个开源的网络扫描和安全审计工具。它可以帮助识别网络上的主机和服务,并检测开放的端口。

1. 安装nmap(如果尚未安装)  

   sudo apt-get install nmap    对于Debian/Ubuntu系统

   sudo yum install nmap        对于CentOS/RHEL系统  

2. 使用nmap扫描本地主机的开放端口  

   sudo nmap -sT -O localhost  

   或者,如果只想扫描特定的端口范围:

      sudo nmap -p 1-65535 localhost  

 (二)、检查防火墙配置文件

        对于某些Linux发行版和防火墙配置,可以直接检查防火墙的配置文件来了解哪些端口是开放的。这通常涉及查看/etc/firewalld/(对于firewalld)、/etc/sysconfig/iptables或/etc/iptables/rules.v4(对于iptables)等目录下的配置文件。

        1. 使用文本编辑器(如vim、nano等)打开相应的配置文件。

        2. 搜索与开放端口相关的规则或配置。

 (三)、使用系统日志

        在某些情况下,系统日志(如/var/log/messages、/var/log/syslog或/var/log/firewalld.log等)可能包含有关防火墙端口开放的信息。可以使用grep等文本搜索工具来查找与端口开放相关的日志条目。

1. 使用grep搜索日志文件中的端口信息  

   grep 'port' /var/log/firewalld.log

 

2.若知道特定的端口号,可直接搜索该端口号  

   grep '80/tcp' /var/log/firewalld.log  

 (四)注意事项

1. 权限要求

        执行上述命令通常需要管理员权限(sudo)。

2. 准确性

        直接检查防火墙配置文件通常是最准确的方法,但可能需要一定的防火墙配置知识。

3. 日志可用性

        系统日志的可用性和内容可能因系统配置和防火墙软件而异。

4. 安全性

        使用nmap等网络扫描工具时,请确保拥有扫描目标主机的适当权限,以避免违反网络安全政策或法律。

        由此,查看Linux防火墙开放的端口号有多种方法,可以根据具体的系统配置和需求选择合适的方法。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2193447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+Uniapp的植物园管理小程序系统(2024最新,源码+文档+远程部署+讲解视频等)

3. 论文参考 4. 项目运行截图 5. 技术框架 5.1 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring …

眼儿媚​·秋雨绵绵窗暗暗

因患久治未愈的基础病 ——“肺气肿、哮喘、支扩吐血”等严重的呼吸道疾病,年近72岁的笔者于2017年初夏季节,情非得已地放弃半个多世纪习惯了的都市生活,来到成都市崇州市街子古镇寄居养病、养老,而今已逾七年。虽说一晃都是快要年…

【大模型 AI 学习】大模型 AI 部署硬件配置方案(本地硬件配置 | 在线GPU)

最近想部署一个开源深度学习项目,但是小编的笔记本电脑是8G的集成显存,且没有GPU,性能肯定是不够的。于是小编在小po站上粗浅了解了一下当前: 1. 大模型 AI本地硬件配置和 2. 云上申请GPU算力的两种方式。简单记录一下: 参考视频…

D29【python 接口自动化学习】- python基础之输入输出与文件操作

day29 格式化输出 学习日期:20241006 学习目标:输入输出与文件操作﹣-41 格式化输出:如何将执行结果通过屏幕输出? 学习笔记: 三种常用的格式化输出方式 百分号方式 format函数方式 总结 1. 格式化输出…

模拟实现消息队列(基于SpringBoot实现)

提要:此处的消息队列是仿照RabbitMQ实现(参数之类的),实现一些基本的操作:创建/销毁交互机(exchangeDeclare,exchangeDelete),队列(queueDeclare,…

docker拉取镜像推送到阿里云镜像仓库

Docker拉取失败,利用github将镜像推送到阿里云 docker_image_pusher hub-mirror仓库 1、windows没有升级,用不了WSL。可以使用wsl,配合docker desktop直接拉取镜像,windows10安装WSL2及使用 2、开启安全surf the internet工具…

MQ 架构设计原理与消息中间件详解(三)

RabbitMQ实战解决方案 RabbitMQ死信队列 死信队列产生的背景 RabbitMQ死信队列俗称,备胎队列;消息中间件因为某种原因拒收该消息后,可以转移到死信队列中存放,死信队列也可以有交换机和路由key等。 产生死信队列的原因 消息投…

如何只修改obsidian图片链接为markdown

如何只修改obsidian图片链接为markdown 前言插件配置 使用注意 前言 适合有一定了解obsidian用法和插件市场,还有相对路径的人 插件 在obsidian插件市场搜索—开梯子 配置 首先使用ctrlp打开命令面板,也可以在左侧通过图标打开命令面板&#xff0c…

VTC视频时序控制器,TPG图像测试数据发生器,LCD驱动——FPGA学习笔记19

详情可以见LCD篇 LCD彩条显示——FPGA学习笔记10_依次显示红绿蓝三个通道-CSDN博客 一、VTC简介 Video Timing Controller 缩写 VTC 是我们在所有涉及 FPGA 图像、 FPGA 视频类方案中经常用到的一种用于产生视频时序的控制器。 本课以 VGA 为切入点, 学习视频传输…

【颜色平衡树 / E】

题目 思路 DFS暴力 60分 代码 #include <bits/stdc.h> using namespace std; const int N 5010; const int M 5010; int h[N], e[M], ne[M], idx; int c[N], f; int ans; void add(int a, int b) // 添加一条边a->b {e[idx] b, ne[idx] h[a], h[a] idx ; } …

C++ 观察者模式

观察者模式&#xff08;Observer Pattern&#xff09;是一种行为设计模式&#xff0c;用于在对象之间建立一对多的依赖关系&#xff0c;当一个对象的状态发生变化时&#xff0c;它的所有依赖对象都会得到通知并自动更新。 在观察者模式中&#xff0c;主题和观察者之间是松耦合…

Vue - 路由用法

前端路由就是URL中的hash与组件之间的对应关系。Vue Router是Vue的官方路由。 组成&#xff1a; VueRouter&#xff1a;路由器类&#xff0c;根据路由请求在路由视图中动态渲染选中的组件。<router-link>&#xff1a;请求链接组件&#xff0c;浏览器会解析成<a>。…

S7-200 SMART Modbus RTU常见问题

1.S7-200 SMART 是否支持 Modbus ASCII 通信模式&#xff1f; STEP 7-Micro/WIN SMART 软件未提供Modbus ASCII 通信模式指令库。S7-200 SMART CPU若用于Modbus ASCII 通信时&#xff0c;则需要用户使用自由口通信模式进行编程。 2.S7-200 SMART CPU 集成的RS485 端口&#xf…

毕设 基于大数据情感分析的网络舆情分析系统(源码+论文)

简介 今天学长向大家介绍一个大数据毕设项目 毕设分享 基于大数据情感分析的网络舆情分析系统(源码论文) &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;4分创新点&#xff1a;4分 &#x1f9ff; 项目分享:见文末! 实…

Linux下网络转发功能

1、背景介绍 项目中使用上位机电脑&#xff0c;需要通过网络访问一个Linux主机&#xff0c;但是该Linux主机没有网络直接与上位机相连&#xff0c;只能通过插箱内另外一个Linux主机转发才能访问&#xff0c;示意图如下&#xff1a; 2、网络转发配置 Linux网络中转主机需要进行…

Java体系中的异常

1. 异常 1.1 异常的概念 在Java中&#xff0c;我们将程序执行过程中发生的不正常行为称为异常。异常是在程序运行过程中发生的错误或意外情况&#xff0c;它打破了程序的正常执行流程。在Java中通过面向对象的编程思想&#xff0c;我们也将这些扰乱程序正常执行的行为用类组织…

三菱FX3UPLC定位模式介绍

运行模式的比较 *1用相对定位指令代替。 *2使用相对/绝对定位指令。 *3使用直线插补指令的连续路径功能。 *4使用直线插补指令的连续路径功能。 可单轴运行。 *5.使用表格运行(连续运行功能)。 *6.使用中断定位指令。 *7只支持FX3UFX3UC可编程控制器&#xff0c;使用可变速脉…

设计模式之装饰器模式(Decorator)

一、装饰器模式介绍 装饰模式(decorator pattern) 的原始定义是&#xff1a;动态的给一个对象添加一些额外的职责。 就扩展功能而言&#xff0c;装饰器模式提供了一种比使用子类更加灵活的替代方案。 在软件设计中&#xff0c;装饰器模式是一种用于替代继承的技术&#xff0c;它…

Java语法之异常

1.异常的概念以及体系结构 1.1 异常的概念 在生活中人会生病,比如咳嗽流鼻涕,头晕等,程序也一样,比如:数据格式不匹配,网络不通畅,内存报警等.在Java中,我们把程序执行的不正常行为称为异常. 比如: 1. 算数异常 System.out.println(10 / 0); // 执行结果 Exception in thread &…