【运维指南】常见的防火墙端口操作

embedded/2024/10/19 19:29:27/

每当一个应用程序想通过网络访问自己时,它就会申请一个 TCP/IP 端口,这意味着该端口不能被其他任何程序使用。那么,如何检查开放的端口,看看哪个应用程序已经在使用它呢?

Windows

查看端口使用情况和进程名称

netstat -ab

按 Enter 键后,结果可能需要一两分钟才能完全显示出来,请耐心等待。滚动列表找到端口(列在本地 IP 地址右侧冒号之后),然后就能看到该行下列出的进程名称。如果你想让事情更简单一些,请记住你也可以将命令结果导入文本文件。然后,你就可以在文本文件中搜索你想要的端口号了。

例如,在这里你可以看到 49902 端口被一个名为 picpick.exe 的进程占用了。PicPick 是我们系统中的一个图片编辑器,因此我们可以假设该端口实际上是被一个定期检查应用程序更新的进程占用了。

在这里插入图片描述

查看端口使用情况和流程标识符

如果您查找的端口号的进程名称难以确定相关应用程序是什么,您可以尝试使用显示进程标识符 (PID) 而不是名称的命令版本。

netstat -aon

在这里插入图片描述

使用 netsh 打开端口(推荐)

开启6624端口, protocol可以是TCP或者UDP

netsh advfirewall firewall add rule name="TCP Port 6624" dir=in action=allow protocol=TCP localport=6624

删除Rule

netsh advfirewall firewall delete rule name="TCP Port 6624" protocol=TCP localport=6624

使用 Powershell 打开端口

PowerShell 是命令提示符的高级形式。它扩展了大量现成可用的 cmdlet,并能在各种情况下使用 .NET framework/C#。您可以使用它在 Windows 10 中打开或关闭端口。

New-NetFirewallRule -DisplayName 'My port' -Profile 'Private' -Direction Inbound -Action Allow -Protocol TCP -LocalPort 6624

Linux

查看端口

Linux 用户可以使用多种可用的网络工具检查开放端口。每个工具都会显示相同的结果,但输出格式和信息量各不相同。

下文将介绍使用 lsof、netstat、ss、Nmap 和 netcat 工具检查开放端口的方法。

$ sudo lsof -nP -iTCP -sTCP:LISTEN

在这里插入图片描述
参考 https://phoenixnap.com/kb/linux-check-open-ports

iptables 开启端口

开启端口

$ sudo iptables -I INPUT -p tcp -m tcp --dport 5355 -j ACCEPT

删除端口

$ sudo iptables -D INPUT -p tcp -m tcp --dport 5355 -j ACCEPT

参考 https://www.digitalocean.com/community/tutorials/how-to-list-and-delete-iptables-firewall-rules

firewall 开启端口

Zone

分区(Zone)是一种概念,用于更透明地管理传入流量。分区与网络接口相连,或分配一定范围的源地址。您可以独立管理每个区域的防火墙规则,这样就能定义复杂的防火墙设置并将其应用于流量。

~]# firewall-cmd --get-zones~]# firewall-cmd --list-all-zones

添加80/tcp

这将在运行时环境的公共区域打开 80 端口(协议为 tcp)。运行环境只在机器重启或 firewalld 服务重启前有效。如果端口应添加到默认区域,则可以省略区域选项。

firewall-cmd --zone=public --add-port=80/tcp

如果您也想永久更改,那么在永久环境中也要打开端口。这意味着在系统重启或 firewalld 服务重载后,端口也将被打开。

firewall-cmd --permanent --zone=public --add-port=80/tcp

开启服务

firewall-cmd --zone=public --add-service=httpfirewall-cmd --permanent --zone=public --add-service=http

http://www.ppmy.cn/embedded/88797.html

相关文章

ELK实现nginx、mysql、http的日志可视化实验

API接口: 软件内部代码之间通信的接口 代码的连接点 端口是对外提供访问程序的内容接口 filebeat: 1、可以在本机收集日志 2、也可以远程收集日志 3、轻量级的日志收集系统,可以在非java环境运行 logstash是在jvm环境中运行&#xff0c…

kafka 各种选举过程

一、kafka 消费者组协调器 如何选举 Kafka 中的消费者组协调器(Group Coordinator)是通过以下步骤选举的: 分区映射: Kafka 使用一个特殊的内部主题 __consumer_offsets 来存储消费者组的元数据。该主题有多个分区,每…

整体接口测试

文章目录 1.分类1.新增分类1.接口设计2.结果 2.更新分类1.接口设计2.结果 3.查询分类1.接口设计2.结果(少了一个count字段暂时不改) 4.查询大类下分类1.接口设计2.结果 5.删除分类1.接口设计2.结果 2.标签1.新增标签1.接口设计2.结果 2.更新标签1.接口设…

基于Django与spark的国漫推荐系统

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍每文一语 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 近年来,随着互联网的蓬勃发展,企事业单位对信息的管理提…

poetry shell

cd api poetry shellflask run --host 0.0.0.0 --port5001 --debug cd api poetry shell celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_tracecd web npm run start

【Linux】Ubuntu配置JDK环境、MySQL环境

一、 Ubuntu配置JDK环境 在Ubuntu系统中安装JDK 8可以通过以下步骤进行: 打开终端。更新包列表: sudo apt update安装OpenJDK 8: sudo apt install openjdk-8-jdk验证安装是否成功: java -version注:如果系统中安…

FPGA:串口通信发送模块

FPGA:串口通信发送模块 1、串口通信的概念及分类(1)串口通信概念(2)串口通信分类 2、UART协议(1)FPGA实现UART协议发送模块思路(2)Verilog设计文件a.波特率选择模块b.单个比特发送模块c.位状态计数器d.延时计数器e.数据保存寄存器f.位发送逻辑g.led翻转逻辑h.使能信号en_send逻…

【C++】模拟实现list

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目及其功能 📌了解list官方标准 了解模拟实现list 📌了解更底层的list实现 二.list迭代器和vector迭代器的异同 📌迭代…