我有一个 ssh 隧道,客户端通过它连接到服务器。使用,wireshark
我可以看到除了 keepalive 之外的定期 SSH 连接,但我无法获取pid
导致此流量的进程 ()。
我使用了ss -ntap -o state all '( dport = :22 )'
while 循环,但它只捕获来自监听的keepalive
本地端口的连接。ssh
tcp 0 0 192.168.132.126:52998 10.10.100.102:22 \
ESTABLISHED 0 10619644 8875/ssh
如何获取导致此连接产生流量的进程 ID ssh
?换句话说,如何获取为此发起的所有连接调用10.10.100.102:22
?
答案1
又快又脏。
- 用于
iptables -A INPUT ... -j DROP
暂时丢弃发往本地端口的数据包。 - 然后
sleep 10
- 聚集起来
ss -antp
,你的联系人很可能会在那里(我认为)保持地位SYN
- 然后重新加载 iptables 防火墙以恢复所有更改。
- TCP 重传机制将导致挂起的连接继续。它们只会被延迟。