2024年4月23日 星期二

unix 從 process 看 netstat 裡面的連線情況

 查看連線起始時間 


首先先用兩台 vm 建立 測試環境


kali 


ubuntu 





第一步 看你的連線的 process 



這邊看到的是 3750

接著找 socket 的 inode 





這邊要注意的是

st 欄位要選 01 表示連線 

另萬 這邊的 


92DDA8C0:AA50  前面八byte 是 IP little endia 後面是 port big endian 

AA50 -> 43600 port 

91 ->  146 

DD-> 221

A8-->168

C0 -->192 

192.168.221.146 : 43600 

看右邊  

04D2--> 1234 port 

9D -> 157 

DD-> 221

A8-->168

C0 -->192 

192.168.221.157:1234 

在看後面的 inode 是 89931 


最後 用網路上的指令 可以快速找到 


find /proc/$pid/fd -lname "socket:\[$inode\]" -printf %t

find /proc/3750/fd -lname "socket:\[89931\]" -printf %t


3月23日15時31分啟動的 (圖上為 UTC-7)
參考:

https://superuser.com/questions/565991/how-to-determine-the-socket-connection-up-time-on-linux



後來有新招  更威

https://www.tianxiaohui.com/index.php/Linux%E7%9B%B8%E5%85%B3/%E6%9F%A5%E7%9C%8B%E4%B8%80%E4%B8%AAsocket%E7%9A%84%E5%BC%80%E5%A7%8B%E6%97%B6%E9%97%B4.html


sudo ss -t -p -e
State    Recv-Q  Send-Q   Local Address:Port     Peer Address:Port      Process
ESTAB    0       0        10.249.64.103:ssh      10.226.199.52:61340    users:(("sshd",pid=812231,fd=4),("sshd",pid=812101,fd=4)) timer:(keepalive,54min,0) ino:2211652 sk:5063 cgroup:/system.slice/ssh.service <->



supra@suprabox:~$ sudo stat /proc/812101/fd/4
  File: /proc/812101/fd/4 -> socket:[2211652]
  Size: 64            Blocks: 0          IO Block: 1024   symbolic link
Device: 17h/23d    Inode: 2228948     Links: 1
Access: (0700/lrwx------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-02-11 01:51:35.510079439 -0800
Modify: 2023-02-11 01:51:26.442196746 -0800
Change: 2023-02-11 01:51:26.442196746 -0800
 Birth: -