linux *** 作系统 关闭非必要的TCP和UDP端口

linux  *** 作系统 关闭非必要的TCP和UDP端口,第1张

Linux下面没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)。也就是说,Linux里面端口的活动与进程是紧密相连的,如果想要关闭某个端口,那么只要杀掉它对应的进程就可以了。

例如要关闭22号端口:

$ netstat -anp | grep :22

tcp 0 0 0000:22 0000: LISTEN 1666/sshd

# -a 显示所有活动的TCP连接,以及正在监听的TCP和UDP端口

# -n 以数字形式表示地址和端口号,不试图去解析其名称(number)

# -p 列出与端口监听或连接相关的进程(有个地方需要注意,下面会提到)(pid)

知道了22号端口对应的进程ID 1666,只要:

$ kill 1666

即可。 

其中“-p”选项需要注意一个权限的问题,如果在普通用户登录的shell里面执行netstat命令,那么只能列出拥有该普通用户权限的相关进程,如果想要看到所有的端口情况,最好还是切到root。 

附带几个netstat常用选项用法: 

$ netstat -tn # 列出所有TCP协议的连接状态

# -t 只显示与TCP协议相关的连接和端口监听状态,注意和-a有区别(tcp) 

$ netstat -tuln # 列出所有inet地址类的端口监听状态

一般情况下iptables已经包含在Linux发行版中

运行iptables

--version来查看系统是否安装iptables

启动iptables

service

iptables

start

iptables

--list

//查看iptables规则集//

下面是没有定义规划时iptables的样子:

Chain

INPUT

(policy

ACCEPT)

target

prot

opt

source

destination

Chain

FORWARD

(policy

ACCEPT)

target

prot

opt

source

destination

Chain

OUTPUT

(policy

ACCEPT)

target

prot

opt

source

destination

如何开启/关闭指定端口

例如:

开启81端口:

iptables

-I

INPUT

-i

eth0

-p

tcp

--dport

81

-j

ACCEPT

iptables

-I

OUTPUT

-o

eth0

-p

tcp

--sport

81

-j

ACCEPT

关闭81端口:

iptables

-I

INPUT

-i

eth0

-p

tcp

--dport

81

-j

DROP

iptables

-I

OUTPUT

-o

eth0

-p

tcp

--sport

81

-j

DROP

然后保存

/etc/rcd/initd/iptables

save

你可以使用lsof命令来查看某一端口是否开放查看端口可以这样来使用

我就以81端口为例:

lsof

-i:81

如果有显示说明已经开放了如果没有显示说明没有开放

以上就是关于linux *** 作系统 关闭非必要的TCP和UDP端口全部的内容,包括:linux *** 作系统 关闭非必要的TCP和UDP端口、如何通过Linux系统下iptables防火墙开启/关闭指定端口方法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10104876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存