求Sniffer源码 (100分)

  • 主题发起人 主题发起人 苍蝇拍子
  • 开始时间 开始时间

苍蝇拍子

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在网络中截获http包,只看看包头,不影响原先的客户端的访问,又不重复,如何做?
我找到的都是基于C的,而且编译都有问题,有pascal的版本吗?
 
hook socks API
 
应该是不可以,我觉得只能采用在网络侦测Ip包这个技术
 
可以hook socket API,http://www.programsalon.com
-- HookAPI是一个可以截获Windows的系统32位API和用户32位DLL中函数的调用接口,并可在函数被调用时替换为自己的函数,也可以禁止原函数的调用的开发包。 开发包使用简单,用户只需要编写自己的处理函数并编译成一个mydll.dll文件就行了。

运行平台:Windows NT/2000,Windows9x

开发平台: Visual C++ 6.0

包含内容: 包含四个DLL文件,一个EXE文件及其源码,和四个用户DLL例子 源程序。例子程序为:socket系统函数截获,文件存取系统函数截获,注册表存取系统函数截获 ,Delphi下的socket系统函数截获例子。.

 
楼上的是采用替换winsock dll的办法
不通用
如何windows改了几个函数
又要改dll

微软提供拦截winsock数据的接口
可以参考msdn的lsp
 
就是Sniffer,做一个http的过滤,去http://delphi.mychangshu.com,那儿有现成的源程序。
for win2000:
http://delphi.mychangshu.com/dispdoc.asp?id=133
for win98:
http://delphi.mychangshu.com/dispdoc.asp?id=278
http://delphi.mychangshu.com/dispdoc.asp?id=441
http://delphi.mychangshu.com/dispdoc.asp?id=440
 
上述方法可以在网络上部署一台win2000Server系统,运行上述系统,就可以监督
整个网络的tcp(http)包了吗?
 
To:苍蝇拍子

你的这个问题如何解决的?
现在我也碰到了这个问题,望告之。
谢谢了先!
mghz@163.com
 
Sniffer Pro 就可以,不用你写程序了。
 
就是啊,找个现成的工具软件用了再说嘛。比如,我在打开这个页面时,就看到了全部的
http 收发包:
开始,
我这里发送了 $21 ,服务器响应也是 $21
然后我送出:
GET /delphibbs/dispq.asp?lid=961294 HTTP/1.1
Accept: */*
Referer: http://www.delphibbs.com/delphibbs/listq.asp?
page=2&type=1&room=0&sort=1
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET
CLR1.1.4322)
Host: www.delphibbs.com
Connection: Keep-Alive
Cookie: skin=1; UserCode=DA4814F1EA039413F3884FD419F6; <-- 这里有我的密码哦
ASPSESSIONIDSACQBQSB=NDAKBLFBCHGIBIHKHHOALACI
服务器回应我:$21 我这里也回答它:$21 ,这时服务器才发内容给我:
HTTP/1.1 200 OK
Date: Tue, 07 Oct 2003 16:31:44 GMT
Server: Microsoft-IIS/6.0
Content-Length: 7485
Content-Type: text/html
Cache-control: private
<html xmlns:tools>
<head>
.....(下面是本页部分 html 内容,略)
我这里赶紧回答:$21 ,服务器响应我:$21
由于长度一次没有发完,服务器又发来:$21,我这里也响应:$21
服务器见状,赶紧将未发完的发过来:
<a href="../delphibbs/listq.asp">
</a>
<a href="../delphibbs/listu.asp">
........(以下是剩下部分 html ,略)
我收到后,当然要告诉服务器:$21,服务器也响应我:$21
就这样一问一答,结束时的信息是这样的:
服务器:$21 <--- 相当于 “喂!”
客户端:$21 <--- 相当于 “在呢!”
服务器:HTTP/1.1 304 Not Modified
Last-Modified: Thu, 06 Sep 2001 16:00:00 GMT
Accept-Ranges: bytes
ETag: "04056fbec36c11:ca50"
Server: Microsoft-IIS/6.0
Date: Tue, 07 Oct 2003 16:31:45 GMT
客户端:....(无言中)
 
我用 深索网络数据监视器1.3 来查看IP包的,可以满足楼主的要求

楼主找到什么好方法没?
Email告诉我一声 hailer@tom.com
或者在这里大家一起讨论。
 
我有 留箱子!
 
hook socket api只能捕获IP数据包,不能拦截的。
人在昆明,给我一份吧。谢谢!
egofirebird@163.com
 
人在昆明,给我一份吧。谢谢!

hailer@tom.com
 
给我一份吧。谢谢!

san310@21cn.com
 
那我也要!

dirk_c@sina.com
 
我是在想,负载均衡器得原理应该和这个一样?属于截获转发,我想有人知道转发得问题,截获http应该是很容易了
 
就做一个Sniffer
 
怎么做?有代码参考吗?
 
libpcap翻译一下就好了
 
后退
顶部