【socket】根据socket查看连接的两端信息

2022-10-25  本文已影响0人  Bogon
  1. 查看连MySQL所建立的socket连接
$ ss -tan |grep -w  3306
ESTAB      0      0       [::ffff:192.168.218.17]:53018              [::ffff:192.168.218.115]:3306
ESTAB      0      0       [::ffff:192.168.218.17]:53014              [::ffff:192.168.218.115]:3306

源ip:源随机端口 <---->目的ip:目的端口
192.168.218.17:53018 <----> 192.168.218.115:3306

  1. 查询 53018 哪个进程监听的随机端口端口
$ netstat  -pantu | grep 53018
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 192.168.218.17:53018     192.168.218.115:3306     ESTABLISHED 338668/java
  1. 查看 pid 338668 所属的进程
$ ll  /proc/338668/cwd/
total 16
drwxrwxr-x 4 test test 4096 Oct 24 11:07 config
drwxrwxr-x 2 test test 4096 Mar 21  2022 deploy
drwxrwxr-x 2 test test 4096 Mar 21  2022 lib
drwxr-xr-x 2 test test 4096 Oct 25 00:00 logs


$ ll  /proc/338668/cwd/config/
total 16
-rw-rw-r-- 1 test test 2635 Mar 29  2022 canal.properties
drwxrwxr-x 2 test test 4096 Oct 24 11:06 example
-rw-rw-r-- 1 test test 2993 Mar 22  2022 logback.xml
drwxrwxr-x 2 test test 4096 Mar 21  2022 spring

Proc 是一个虚拟文件系统,在Linux 系统中它被挂载于/proc 目录之上。Proc 有多个功能 ,这其中包括用户可以通过它访问内核信息或用于排错,这其中一个非常有 用的功能,也是Linux 变得更加特别的功能就是以文本流的形式来访问进程信息。

很Linux 命令( 比如 ps 、toPpstree 等) 都需要使用这个文件系统的信息。

Linux中cwd是什么?

cwd: 不是系统自带的命令, 但是属于 系统的属性 . 全称: current working directory . 不但在 /proc/{id} 这个目录下可以看到cwd, 在很多其他的编程语言中也可以看到。

/proc/[pid]/cwd 是进程当前工作目录的符号链接。

image.png
在/proc文件系统中,每一个进程都有一个相应的文件 。
下面是/proc目录下的一些重要文件 :
/proc/pid/cmdline 包含了用于开始进程的命令 ;
/proc/pid/cwd包含了当前进程工作目录的一个链接 ;
/proc/pid/environ 包含了可用进程环境变量的列表 ;
/proc/pid/exe 包含了正在进程中运行的程序链接;
/proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接;
/proc/pid/mem 包含了进程在内存中的内容;
/proc/pid/stat包含了进程的状态信息;
/proc/pid/statm 包含了进程的内存使用信息

参考

Linux中cwd是什么?
https://www.php.cn/linux-493762.html

简析Linux中 /proc/[pid] 目录的各文件
https://www.linuxprobe.com/linux-proc-pid.html

上一篇 下一篇

猜你喜欢

热点阅读