eric.hee
驱动牛犊
驱动牛犊
  • 注册日期2002-05-21
  • 最后登录2002-10-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1363回复:4

通过IP Filter Hook Driver怎么得端口号?50分!

楼主#
更多 发布于:2002-05-29 15:57
大家好,我用IP Filter Hook Driver写了一个
IP包截获程序,可是我发现在IPHEADER定义里
没有端口号。。。。。那么端口号该怎么得到?

另外,我用TDI写的抓包程序也有这个问题,
希望哪位高手能赐教,谢谢!

最新喜欢:

peralperal
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-29 16:10
要自己分析协议啊,
如果是TCP的协议就到TCP协义结构里找到port啊。
UDP也是一样啊。
TDI里可以看一下DDK文档,里都有的。
对于TCP连接时,关注TDI_ASSOCIATE_ADDRESS
对于UDP时,关注irp_mj_create和
Irp->AssociatedIrp.SystemBuffer
我思故我在,脑袋不会坏.
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-29 16:11
要自己分析协议啊,
如果是TCP的协议就到TCP协义结构里找到port啊。
UDP也是一样啊。
TDI里可以看一下DDK文档,里都有的。

对于TCP连接时,关注TDI_ASSOCIATE_ADDRESS
对于UDP时,关注irp_mj_create和
Irp->AssociatedIrp.SystemBuffer ,
或者
TDI_QUERY_INFORMATION  --》TDI_QUERY_ADDRESS_INFO
我思故我在,脑袋不会坏.
eric.hee
驱动牛犊
驱动牛犊
  • 注册日期2002-05-21
  • 最后登录2002-10-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-29 16:22
TDI_Connect里有IrpSp->Parameters 返回一个
TDI_REQUEST_KERNEL_CONNECT结构,
此结构中又包含
TDI_CONNECTION_INFORMATION,但是这个结构里也没有
端口信息。。。。。。。
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-05-29 17:03
TDI_Connect里有IrpSp->Parameters 返回一个
TDI_REQUEST_KERNEL_CONNECT结构,
此结构中又包含
TDI_CONNECTION_INFORMATION,但是这个结构里也没有
端口信息。。。。。。。
 

怎么没有?
PTDI_REQUEST_KERNEL p;
...
PTRANSPORT_ADDRESS pTransAddr = (p->RequestConnectionInfomation)->RemoteAddress;
if(pTransAddr->Address[0].AddressType == TDI_ADDRESS_TYPE_IP)
{
PTDI_ADDRESS_IP pIPAddress = pTransAddr->Address[0].Address;

pIPAddress->sin_port就是你需要的端口。
}
我可是冲着50分去的。不要让我失望。哈哈。
游客

返回顶部