LINUX如何查看端口的占用情况

来源:互联网 发布:深圳城中村网络垄断 编辑:程序博客网 时间:2024/04/25 16:07

netstat -anp 显示系统端口使用情况lsof -i :端口  显示占用该端口的进程情况 uname -a 内核信息cat /proc/interrupts 显示中断信息

有时候,一个服务器用了很长一段时间,一些程序占用了哪些端口,一时间会想不起来,在安装一些新软件的时候,会造成端口被占用的情况。当然,有作记录习惯的同鞋,可以无视这个文章,当然,如果也想了解一下,就继续看下去吧。LINUX环境下,只要输入一个命令,就一目发然了。
这个命令就是lsof ,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。
lsof [options] filename
如果提示没有安装lsof这个命令,CentOS可以执行:yum install lsof 安装,Debian可以执行:apt-get install lsof 安装。
lsof  filename 显示打开指定文件的所有进程
lsof -a 表示两个参数都必须满足时才显示结果
lsof -c string   显示COMMAND列中包含指定字符的进程所有打开的文件
lsof -u username  显示所属user进程打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /DIR/ 显示目录下被进程打开的文件
lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长
lsof -d FD 显示指定文件描述符的进程
lsof -n 不将IP转换为hostname,缺省是不加上-n参数
lsof -i 用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 –> IPv4 or IPv6
protocol –> TCP or UDP
hostname –> Internet host name
hostaddr –> IPv4地址
service –> /etc/service中的 service name (可以不只一个)
port –> 端口号 (可以不只一个)
例如: 查看22端口现在运行的情况
[root@ymhsky ~]# lsof -i :22
COMMAND   PID USER   FD   TYPE DEVICE SIZE NODE NAME
sshd     1052 root    3u  IPv6   2547       TCP *:ssh (LISTEN)
sshd    18884 root    3u  IPv6 509471       TCP ymhsky:ssh->116.22.255.162:64630 (ESTABLISHED)
每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。lsof输出各列信息的意义如下:
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称
查看端口占用情况,只是他的其中一个功能,lsof 的功能还有很多,日后有时间,再为大家介绍一下,当然,大家也可以自己去查找一下。
本文地址:http://www.ivps123.com/143


原创粉丝点击