如何找到在端口上监听的exe?


10

我尝试使用netstat -ab -p tcp -n,结果如下:

  TCP    0.0.0.0:47001          0.0.0.0:0              LISTENING
Can not obtain ownership information

我以管理员身份运行并收到该消息。我还下载了一个实用程序,以显示exe的网络活动,但是根据该实用程序,打开的任何端口均未监听端口47001。

我怎样才能知道正在听什么?


您尝试过Wireshark之​​类的东西吗?
vvsraju 2011年

@vvsrajuwireshark臭名昭著的是(可以理解)没有向您显示EXE。数据包中根本没有提到。
barlop

Answers:


11

尝试netstat -o获取进程ID(PID),然后使用tasklist |findstr <pid>来查看进程名称和类型。任务管理器还显示PID和进程名称。

您可以-o像这样组合其他开关:netstat -bona -p tcp


我没有提到-b,因为带有-b的netstat可能有用,但是有些问题,A)需要管理员priv,B)需要时间才能得出结果。
barlop

tasklist | find这是一个问题(因此也未提及进行编辑),因为出于某种原因奇怪,它并不总是有效。过滤任务列表始终起作用的是任务列表> a,然后type a |find(或者(某些人喜欢,找到模式文件-一个命令))。
barlop

我有时将netstat -b与grep一起使用。netstat -abon | grep ":33" -A 1(进程名称在方括号中一行,有时在两行之后-A 2。您可能会忘记做grep -C 2只是为了获取更多信息。或者到文件(netstat -abon> a)然后是grep,如果我需要到grep不止一次(如-b减缓下来)。至于有用的开关,你可以做的netstat -aonp TCP甚至netstat -paon tcp 当筛选发现再有就是对-p tcp的不太需要。所以netstat -aon | find ":1234"(对于端口)或|找到PID的“ 1234”
barlop 2015年

4

自从您谈论Windows以来,您可以使用“ netstat -b ”来查看哪个可执行文件正在使用该端口。

另外,Sysinternal的TCPVIew可以执行相同的操作,但是方式要好得多。


-b已经在使用;它在-ab。同样,“你是”的收缩是“你是”。
Cees Timmerman

1

http://www.iana.org/assignments/port-numbers 将此端口列出为:winrm 47001 / tcp Windows远程管理服务Ryan Mack rmack&microsoft.com 2009年4月29日

现在并不能证明这是在计算机上使用它的方式,但这是一个很好的猜测。


我也看到了,但我想确定。如果它是Windows服务,为什么netstat无法获取所有权信息?
杰伊·怀特

@JayWhite我想在-b寻找System服务没有的路径。
Cees Timmerman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.