寻找系统端口与进程间的关联
 
 
----本文出自于“中国软件网Soft6.com”
 
        如果发现一些从没见过的端口号,你怎样分辨出该端口是不是***开放的端口?或者在进程列表中发现陌生的进程时,  
 
是否想知道该进程在你的系统中开了什么端口?
一、根据进程查端口号
        首先在开始菜单的“运行”框中输入“cmd.exe”进入命令提示符窗口,先键入“tasklist”命令将列出系统正在运行的进程列表,把你要查的进程所对应的“PID”号记下或复制。
小资料:单击右键菜单中的标记,然后将你要查的进程对应的“PID”号选中,按一下“回车”键就可以了。需要注意的是,相同的进程图像名 每次运行的“PID”号一般都不会相同,所以一旦该进程重启后,该“PID”号就会改变,这就需要重新查看。
      把进程的PID号记下后,接下来就用这个PID号把该进程所开的端口显示出来了。
      在当前的命令符下继续键入“netstat -ano | findstr 1140”命令,其中“netstat -ano”参数表示以数字形式显示所有活动的TCP连接以及计算机正在侦听的TCP、UDP端口并且显示对应的进程IDPID 号;“|findstr 1140”表示查找进程PID为“1140”的TCP连接以及TCP、UDP端口的侦听情况(在实际应用中,需要把你刚才记下或复制的PID号替换掉这里的1140)。按“回车”键后,就会显示出该进程所开的端口号。
       我们可以明显地看出,PID为“1140”的进程所开启的端口为“3001”,如果此时没有任何提示信息返回,则说明该进程没有开启任何端口。
二、根据端口号查进程
        在命令提示符窗口中输入“netstat -ano”命令,列出系统当前的端口列表,该命令的作用已在上面提过了。-o参数的作用主要是显示各端口对应的进程PID号,现在把你要查的端口对应的进程PID号记下或复制。然后在命令提示符下继续输入“tasklist /fi ″PID eq 788 ″”(在实际应用中,需要把你复制或记下的PID号替换掉这里的788),这行语句“/fi”参数表示在“tasklist”中筛选,而“PID eq 788”则是指定筛选的条件,按“回车”键后,就会显示出端口对应的进程。
可以看出,PID号为“788”所对应的进程为“svchost.exe”,如果你查的端口没有关联任何进程的话,此时就会返回“没有运行带有指定标准的任务”的提示信息。
三、查出进程对应的程序
        知道了端口和进程的关联后,如何再进一步查出该进程是那个软件或程序的进程呢?
       下面的操作就需要用到Windows 2000(Server或Professional版都可以)安装光盘中的一个工具。
        首先在安装光盘的“SupportTools”目录下,用解压软件打开“support.cab”压缩包,找到“tlist.exe”文件,将此文件释放到任一目录,如“D:Support”。然后在命令提示符窗口中切换到此目录,运行“tlist.exe”命令,把要查的进程对应的PID号记下或复制(第一列就是进程的PID号),然后继续输入“tlist.exe 2012”命令(你输入的时候,需要将刚才记下的PID号替换掉这里的2012),“CmdLine”后面显示的就是该进程对应的软件所在的目录。
除此之外,返回信息中还列出了该进程所调用的文件,得到了这些信息就可以很容易查出进程对应的程序了。
假如想关闭某个进程,可把该进程的PID号记下,在命令提符下输入“taskkill /pid 2400”2400是PID号)就可以将PID号为2400的进程关闭,如果要强制关闭该进程,只须在这条命令的后面加个“/f”参数即可。