如何拦截socket端口的信息???(200分)

  • 主题发起人 主题发起人 长生一剑
  • 开始时间 开始时间

长生一剑

Unregistered / Unconfirmed
GUEST, unregistred user!
我想拦截socket或者说网络端口的信息,请问如何做??
 
去下载一个拦截数据包的软件 应该就可以 我们公司有个高手自己做了一个小软件可以拦截游戏的数据包 不过我不知道怎么做 不好意思 你可以上网查找一下 就该有得下
 
呵呵,有个变通的办法,API hook,
我们知道,windows的大部分操作都是通过API实现的,用HOOK截获几个和socket通讯有关的API不就解决了?不过有难度!!
 
Socket通讯是通过Port来实现的,你可以监听此Socket连接的Port来拦截数据包。
 
有几种方法,如外包DLL(DLL替换),TDI驱动等都可以实现
有很多防火墙软件都是这样实现的
可以参考《以太网络报文截获和监听》一书,上有网络拦截和监听,
防火墙实现的例子!
 
to qince:
給個小小的例子否則不知如何開始,
 
问题在于我如何判断哪一个端口才是我需要监听的呢??
 
这个是你必须知道的,如果你不知道要监听哪个端口,那只好监听的时候让用户选择了
 
以太网中,用TCP/IP发送数据前,网卡会发出一个请求,询问目标地址网卡的Mac地址(不包括路由),如果得到回应时,会在IP包的外层封装Mac地址再发送。因为以太网卡只接受和自己Mac地址相同的包,然后将数据传到协议栈,由协议栈判断目的IP地址是否正确,再根据端口发送给应用层,如果你知道端口号,就可以拦截IP包,从而达到目的。
 
我现在有个想法,用 wpe 监听所有端口,筛选出自己需要监听的端口,然后接收和监听就很简单了。其实难的也只是筛选端口这一环而已。不知小生愚见是否正确呢??
 
多人接受答案了。
 
后退
顶部