linux查看服务的端口

去年夏天,我在公司的一个旧服务器上遇到一个怪事。
系统突然卡顿,我怀疑是某个服务跑起了后台,但不确定是哪个。
我就想,得先弄清楚服务器上都开着哪些服务,再逐一排查。

我首先打开了终端,敲下了 cat /etc/services 命令,结果屏幕上出现了一大堆服务及其端口,从A到Z,甚至还有个DNS5 3 ,这是干啥用的呢?我仔细翻阅,发现原来HTTP是8 0端口,SSH是2 2 端口,这我倒是知道了。

然后,我又想,光知道默认端口还不行,得看看当前都有哪些端口被占用了。
我又敲了 netstat 命令,这次信息就多了,各种状态的连接,端口被哪个进程占用了,一目了然。
等等,我还发现有个端口是9 000的,这个看起来挺可疑的。

后来,我根据端口信息找到了那个恶意软件,成功解决了问题。
但我突然想到,要是系统里突然出现大量未知端口,是不是意味着又该升级防火墙规则了?这防火墙,是不是也需要定期检查呢?

如何查看linux下的samba服务端口占用

哈,你这说的还挺清楚啊,不过我上次在服务器上查的时候稍微有点不一样的感觉。

我之前在2 02 3 年大概4 月的时候,在一个杭州的数据中心,碰到过一次情况。
当时是看Samba端口是不是真的在跑,用的是ss -tulnp | grep smbd。
你那个ss -anp | grep smb也可以,差不多意思。
关键是那个grep smbd,因为我记得samba的守护进程就叫这个,smbd。
用grep smb的话,有时候可能也会有点匹配,但不是那么精确。

ss这个命令确实比netstat快不少,特别是在那些服务器端口特别多的环境下。
我自己用netstat的时候,感觉输出有时候会慢半拍,特别是在centos 7 那种老版本系统上。
后来升级到centos 8 之后,ss就成了标配了。

还有个小细节,你提到1 3 9 和4 4 5 端口。
对,这两个是经典。
不过我上次在调试一个连不上共享的Linux服务器时,还发现过UDP的1 3 7 端口也挺重要的。
虽然现在很多用防火墙的都关了UDP 1 3 7 ,但有些老旧的配置或者特定版本还是用的。
你可以用你说的命令加个grep 1 3 7 再查查,说不定就有惊喜。

反正你用这两个命令中的任何一个,加上grep smbd或者grep smb,都能看到Samba相关的端口和进程。
如果发现端口被别的程序占了,那就得看是哪个程序了,有时候会挺烦人的。

linux查看端口的命令有哪些

直接用ss命令看端口快。
-ltnp直接看监听端口。
-lsof-i:8 0直接看8 0端口谁占着。
-nmap-sT-p8 0localhost扫本地8 0端口。
telnet1 2 7 .0.0.1 8 0测试8 0端口通不通。
netstat-p和lsof要root权限。
自己掂量。