linux根据端口号找目录,Linux通过程序端口寻找程序路径

在Linux中,如果端口随便设置就有可能出现端口被占用情况,这时候就需要找到对应的程序进行处理。

一、通过端口查看相应PID

1.使用 ss 查看端口

ss 一般用于转储套接字统计信息。它还可以显示所有类型的套接字统计信息,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。

$ ss -lntpd | grep :22

通过grep来获取到对应的记录, 如果是本身用户可以直接查看到pid信息,如果是其他用户的程序一般使用root权限就可以查看到所有程序的进程信息。

tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=6806,fd=3)) tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=6806,fd=4))

2.使用 netstat 查看

netstat 能够显示网络连接、路由表、接口统计信息、伪装连接以及多播成员。目前netstat 已经过时了,都推荐使用ss来代替。

$ netstat -tnlp | grep :22

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6806/sshd tcp6 0 0 :::22 :::* LISTEN 6806/sshd

3.使用 lsof 查看

lsof(list open files)是一个列出系统上被进程打开的文件的相关信息。

$ lsof -i tcp:22

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 6806 root 3u IPv4 147399 0t0 TCP *:ssh (LISTEN)sshd 6806 root 4u IPv6 147401 0t0 TCP *:ssh (LISTEN)

同理,要查看到所有程序需要有root权限。

4.使用 fuser 查看

fuser 可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。fuser只把PID输出到标准输出,其他的都输出到标准错误输出。

$ fuser 22/tcp

22/tcp: 6806

Linux 查看进程运行的完整路径方法

通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等。

这时,我们需要通过以下的方法来查看进程的详细信息:

Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll命令即可查看。

$ ls -al /proc/PID

cwd符号链接的是进程运行目录;

exe符号连接就是执行程序的绝对路径;

cmdline就是程序运行时输入的命令行命令;

environ记录了进程运行时的环境变量;

fd目录下是进程打开或使用的文件的符号连接。

c1400fe9e6c8

1209537-20181122213650674-1877469261.png

Demo

root@kali:~/.local/share# ss |grep 6350

tcp ESTAB 0 0 192.168.243.129:48848 192.168.243.131:6350

root@kali:~/.local/share# fuser 48848/tcp

48848/tcp: 4174

root@kali:~/.local/share# ls -al /proc/4174

total 0

dr-xr-xr-x 9 root root 0 Jan 28 12:15 .

dr-xr-xr-x 276 root root 0 Jan 28 08:19 ..

dr-xr-xr-x 2 root root 0 Jan 28 12:16 attr

-rw-r--r-- 1 root root 0 Jan 28 12:16 autogroup

-r-------- 1 root root 0 Jan 28 12:16 auxv

-r--r--r-- 1 root root 0 Jan 28 12:16 cgroup

--w------- 1 root root 0 Jan 28 12:16 clear_refs

-r--r--r-- 1 root root 0 Jan 28 12:16 cmdline

-rw-r--r-- 1 root root 0 Jan 28 12:16 comm

-rw-r--r-- 1 root root 0 Jan 28 12:16 coredump_filter

-r--r--r-- 1 root root 0 Jan 28 12:16 cpuset

lrwxrwxrwx 1 root root 0 Jan 28 12:15 cwd -> /root/.local/share

-r-------- 1 root root 0 Jan 28 12:16 environ

lrwxrwxrwx 1 root root 0 Jan 28 12:15 exe -> /root/.local/share/python-update-m

dr-x------ 2 root root 0 Jan 28 12:15 fd

dr-x------ 2 root root 0 Jan 28 12:16 fdinfo

-rw-r--r-- 1 root root 0 Jan 28 12:16 gid_map

-r-------- 1 root root 0 Jan 28 12:16 io

-r--r--r-- 1 root root 0 Jan 28 12:16 limits

-rw-r--r-- 1 root root 0 Jan 28 12:16 loginuid

dr-x------ 2 root root 0 Jan 28 12:16 map_files

-r--r--r-- 1 root root 0 Jan 28 12:15 maps

-rw------- 1 root root 0 Jan 28 12:16 mem

-r--r--r-- 1 root root 0 Jan 28 12:16 mountinfo

-r--r--r-- 1 root root 0 Jan 28 12:16 mounts

-r-------- 1 root root 0 Jan 28 12:16 mountstats

dr-xr-xr-x 5 root root 0 Jan 28 12:16 net

dr-x--x--x 2 root root 0 Jan 28 12:16 ns

-r--r--r-- 1 root root 0 Jan 28 12:16 numa_maps

-rw-r--r-- 1 root root 0 Jan 28 12:16 oom_adj

-r--r--r-- 1 root root 0 Jan 28 12:16 oom_score

-rw-r--r-- 1 root root 0 Jan 28 12:16 oom_score_adj

-r-------- 1 root root 0 Jan 28 12:16 pagemap

-r-------- 1 root root 0 Jan 28 12:16 patch_state

-r-------- 1 root root 0 Jan 28 12:16 personality

-rw-r--r-- 1 root root 0 Jan 28 12:16 projid_map

lrwxrwxrwx 1 root root 0 Jan 28 12:15 root -> /

-rw-r--r-- 1 root root 0 Jan 28 12:16 sched

-r--r--r-- 1 root root 0 Jan 28 12:16 schedstat

-r--r--r-- 1 root root 0 Jan 28 12:16 sessionid

-rw-r--r-- 1 root root 0 Jan 28 12:16 setgroups

-r--r--r-- 1 root root 0 Jan 28 12:16 smaps

-r--r--r-- 1 root root 0 Jan 28 12:16 smaps_rollup

-r-------- 1 root root 0 Jan 28 12:16 stack

-r--r--r-- 1 root root 0 Jan 28 12:15 stat

-r--r--r-- 1 root root 0 Jan 28 12:16 statm

-r--r--r-- 1 root root 0 Jan 28 12:16 status

-r-------- 1 root root 0 Jan 28 12:16 syscall

dr-xr-xr-x 3 root root 0 Jan 28 12:16 task

-r--r--r-- 1 root root 0 Jan 28 12:16 timers

-rw-rw-rw- 1 root root 0 Jan 28 12:16 timerslack_ns

-rw-r--r-- 1 root root 0 Jan 28 12:16 uid_map

-r--r--r-- 1 root root 0 Jan 28 12:16 wchan

root@kali:~/.local/share#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值