求助,如何通过“出口端口(非监听端口)”反查进程(linux)

发布于 2021-12-03 02:48:19 字数 455 浏览 840 评论 13

我就是想知道,哪个狗日的写了什么狗屁本地程序连接我的本地kafka又重来不主动关闭连接,导致堆了一大堆TIME_WAIT!!!

# netstat -nat|grep 9092|grep TIME_WAIT
tcp        0      0 192.168.1.251:50955  192.168.1.251:9092   TIME_WAIT   
tcp        0      0 192.168.1.251:50844  192.168.1.251:9092   TIME_WAIT  

...... (还有很多很多)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

反目相谮 2021-12-06 14:26:38

引用来自“bingtel”的评论

lsof -i:端口号

1、lsof -i:可以查看client端口对应的进程信息(原错误的以为只能查看listen端口的进程信息)

2、进程死的快,netstat得到端口后如果手动运行losf -i再运行ll /proc/xxx/则黄花菜都凉了

噩梦成真你也成魔 2021-12-06 14:26:36

@all,前面几位同学说的没毛病。我通过watch + lsof侥幸抓到那个瞬间死掉的进程,原来是一个worker进程去连接kafka,kafka没数据然后立即退出,却没有关闭连接。master发现worker退出又不断的拉起worker进程,结果导致茫茫多的time_wait

归属感 2021-12-06 14:26:35

根据我的测试一楼说的lsof是可以的

nc -l 12345

telnet localhost 12345

lsof -i:12345

结果如下:

狼亦尘 2021-12-06 14:26:35

我也用nc测试过可以的,早些时候处理不严谨,没去验证

爱的故事 2021-12-06 14:26:31

这也是不错的方法。解决之后回顾,问题出在我仅凭少数几次测试就武断的认为lsof -i不支持查看client端口

辞别 2021-12-06 14:26:21

进程死太快,netstat查看的到是通过xxx端口连进来的,但是再用lsof去看xxx端口的信息时对应的进程已死

陌若浮生 2021-12-06 14:26:21

ss -antp | awk '{print $1,$4,$5,$6}' > a; sleep 0.1; ss -antp |awk '{print $1,$4,$5,$6}' >b; diff a b

ps -eo "%a" | sort > a;sleep 0.01 ; ps -eo "%a"|sort > b; diff a b

grep 9092 -rn /你猜测的/程序路径

我想到的三个方法,一个是按链接比较不同,一个是看进程,修改sleep的时间,写个死循环脚本一直执行,万一抓到他呢。最后就是搜端口了,他要连接这个端口配置文件还是程序中肯定得有写吧。

看透却不说透 2021-12-06 14:25:08

用 netstat -ntpac 跑一小段时间,停了之后再在输出里按端口搜索对应的进程, 就算死的快也有痕迹。

樱花落人离去 2021-12-06 14:22:38

这个题目没这么简单,请细看

冷默言语 2021-12-06 13:43:59

我试试看,可能是访问进程死的太快了

醉生梦死 2021-12-06 13:37:40

此法只能找出监听进程,并不能找出访问进程,比如找出50955对应的进程

谁的新欢旧爱 2021-12-06 13:17:37

这个方法没毛病,经过测试,只是客户端死的太快了,lsof无数据

柒夜笙歌凉 2021-12-05 17:25:34

lsof -i:端口号

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文