netstat为简单起见
netstat在PID或进程名称上使用和grepping:
# netstat -np --inet | grep "thunderbird"
tcp 0 0 192.168.134.142:45348 192.168.138.30:143 ESTABLISHED 16875/thunderbird
tcp 0 0 192.168.134.142:58470 192.168.138.30:443 ESTABLISHED 16875/thunderbird
您可以使用watch动态更新:
watch 'netstat -np --inet | grep "thunderbird"'
带有:
-n:显示数字地址,而不是尝试确定符号主机,端口或用户名
-p:显示每个套接字所属的程序的PID和名称。
--inet:仅显示原始,udp和tcp协议套接字。
冗长的痕迹
您说您尝试过该strace工具,但您尝试过该选项trace=network吗?请注意,输出可能非常冗长,因此您可能需要进行grepping。您可以先在“ sin_addr”上grepping。
strace -f -e trace=network <your command> 2>&1 | grep sin_addr
或者,对于已经运行的进程,请使用PID:
strace -f -e trace=network -p <PID> 2>&1 | grep sin_addr