Linux 进程、端口、文件句柄

面试官想考什么

  • 你是否真的会基础 Linux 排查。
  • 是否知道应急中怎么查进程、端口、文件句柄。

查看进程

1
2
3
4
5
6
7
ps aux
ps -ef
ps -elf
top
htop
pgrep nginx
pstree

面试回答:

1
查看进程常用 ps aux、ps -ef 和 top。如果要看父子进程关系,可以用 ps -ef 或 pstree;如果要找某个服务,可以用 ps aux | grep 服务名 或 pgrep。

查看端口

1
2
3
ss -tunlp
netstat -tunlp
lsof -i :80

面试回答:

1
排查端口时常用 ss -tunlp 或 netstat -tunlp 查看监听端口和对应进程,也可以用 lsof -i:端口 查看某个端口被哪个进程占用。

查看文件句柄

1
2
3
4
lsof
lsof -p PID
lsof -i :端口
ls -l /proc/PID/fd

理解:

  • lsof 查看进程打开了哪些文件、网络连接、端口。
  • /proc/PID/fd 可以看某个进程打开的文件描述符。

面试回答:

1
文件句柄可以用 lsof 查看,比如 lsof -p PID 查看某个进程打开的文件,lsof -i:端口 查看端口对应进程,也可以看 /proc/PID/fd 目录。应急中可以用它排查可疑进程打开了哪些文件、是否有异常网络连接或可疑删除文件仍被占用。

应急中怎么用

  • 查异常高 CPU 进程。
  • 查可疑进程路径。
  • 查进程启动命令。
  • 查进程网络连接。
  • 查进程打开的文件。
  • 判断是否为挖矿、反弹 shell、WebShell 后门进程。