1.查找打开的端口,跟踪端口对应的进程、服务

  尝试使用命令找到打开某个端口的进程。先找出进程号,根据进程号获取进程信息:

C:\> netstat -nao | findstr "1521"
  TCP    192.168.150.131:1521  0.0.0.0:0            LISTENING        1276
C:\> tasklist | findstr "1276"
TNSLSNR.EXE                1276 Services                0        19,116 K

  从显示结果看,是进城“TNSLSNR.EXE”打开了端口“1521”。同时显示证明该进程以服务形式运行。进一步查看服务信息,以进程过滤。

  服务信息:(以列表格式、显示某个进程号的服务名称)

C:\> tasklist /svc /fo list /fi "pid eq 1276"

映像名称:      TNSLSNR.EXE
PID:      1276
服务:      OracleOraDb11g_home1TNSListener

  结果显示最终是数据库的监听服务,打开了端口“1521”。那么打开监听端口就跟“数据库”没有关系了,对不对?


2.查看某个打开的服务对应的进程信息

  安装了oracle的客户端程序,察看当前打开的服务启动的是那个进程。服务对应的进程名、进程号,以及使用的内存大小,调用的模块。


  找到运行的服务名称;查找运行的程序名称;查找程序调用的库文件:

C:\> net start | findstr -i "oracle"
    OracleMTSRecoveryService
C:\> tasklist /fi "services eq OracleMTSRecoveryService" /fo table
C:\> tasklist /fi "services eq OracleMTSRecoveryService" /fo table /m


    netstat(win)_第1张图片


3.查看监听的进程信息

  发现有好多监听接口,都不清楚是些什么服务。同样是找出进程号,过滤进程信息:

C:\> netstat -na -p tcp -o | findstr -i listening
C:\> tasklist /FI "PID eq 8692"

映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
vmware-authd.exe              8692 Services                   0     10,920 K




netstat(win)_第2张图片