通过打开的端口,分析是那一个应用程序建立的(100分)

  • 主题发起人 主题发起人 mogao
  • 开始时间 开始时间
M

mogao

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:4000端口被打开,我通过分析4000端口,可以找到打开4000端口的程序是oicq.exe
 
好象大多数用的都是8080端口的阿,这个要我怎么分析?还请高手指教!
 
对端口侦听了,然后分析数据。
netXray 之类的东西就行,
另外说一句,oicq 用的udp,
 
对端口监听,获得数据包中的程序句柄,
枚举系统中的程序句柄,相同就是麽哥程序打开的.

 
to foxs:
数据包中有程序句柄吗?还请指教!
我要实现的功能是:列出当前于网络有通信的正在运行的程序名字
 
getservbyport(),
不过也许不能完全满足你的需要啊:)
 
天啊!怎么在大富翁上稍微有点难度的问题就没有人回答呢?
 
别灰心,这东西有点难度了,你问老外也不一定有结果的。
 
在系统里应该有一个纪录
 
还是没有一句话有价值,失望。。。。。。。。。。。。。
 
我想知道的是这个从理论上是否可行^^
有程序这么做过吗?
 
当然有,例如:"绿色警戒"等许多防火墙
 
试一下hook对创建socket函数的调用。

>天啊!怎么在大富翁上稍微有点难度的问题就没有人回答呢?
??口头禅??
 
“别灰心,再来一次嘛!”

-------------------------------------
(将问题提前)
 
to SNKoala:
恐怕不行。如果我是后来才打开的检测程序,就的不到是谁调用的,那就没办法了。
 
Windows的API都是封装在Dll中的。Windows对多个应用装入的同一个DLL采用共享的方法
记得以前用汇编写Windows3.x的DLL的时候,DLL的代码和数据是不能放在同一个段里的,
因为DLL的代码是要被共享的而数据是单独的,Windows在每一次DLL调用时都给数据段的
选择器装入适当的值。到了Windows95和Windows NT 3.51以后,Windows内核采用分页技
术,各个应用有不同的地址空间,但是DLL的代码还是被共享,不同的是这些代码被映射
到不同的地址空间,所以可能会有不同的虚地址(只有NT才有可能,95和98都把它放在
系统区中)。鉴于这种情况,Hook主某一个API是完全有可能的。现在用到的屏幕取词软
件就是通过Hook住OutTextA,OutTextW等API实现的。
 
后退
顶部