首页
社区
课程
招聘
[求助]TDI层的tcp连接,想要获取socket的信息
发表于: 2009-9-4 08:54 5429

[求助]TDI层的tcp连接,想要获取socket的信息

2009-9-4 08:54
5429
在TDI层,我可以截获到socket的创建,connect和send,但是我只能在connect时,获取ip,port等等。在send里面如何获得啊?因为在connect时,参数类型是PTDI_REQUEST_KERNEL_CONNECT,可以取出类型PTDI_ADDRESS_IP,里面包含ip等。但是在send时,参数类型却是PTDI_REQUEST_KERNEL_SEND。什么也取不到。可以通过别的方法吗?
typedef struct _TDI_REQUEST_KERNEL_SEND {
  ULONG  SendLength;
  ULONG  SendFlags;
} TDI_REQUEST_KERNEL_SEND
部分代码如下
------------connect------------
NTSTATUS
TdiConnect(IN PIRP pIrp, IN PIO_STACK_LOCATION pIrpStack, OUT PTDI_CALLBACK pCompletion, IN ULONG DeviceType)
{
        /*
         * IrpSp->Parameters
         *
         * Pointer to a TDI_REQUEST_KERNEL_CONNECT structure, equivalent to the TDI_REQUEST_KERNEL structure.
         */

        PTDI_REQUEST_KERNEL_CONNECT                ConnectInfo = (PTDI_REQUEST_KERNEL_CONNECT) &pIrpStack->Parameters;
        PTRANSPORT_ADDRESS                                pTransportAddress;
        PTA_ADDRESS                                                pAddress;
        PTDI_ADDRESS_IP                                        ip;

------------send-------------------
TdiSend(IN PIRP pIrp, IN PIO_STACK_LOCATION pIrpStack, OUT PTDI_CALLBACK pCompletion, IN ULONG DeviceType)
{
       
        PTDI_REQUEST_KERNEL_SEND                SendInfo = (PTDI_REQUEST_KERNEL_SEND) &pIrpStack->Parameters;

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//