Yes that is what I am saying. I don’t think there is any Microsoft
sanctioned way of getting the information you need. Though a winsock
helper DLL may do what you need (I have never written one).
-Jeff
-----Original Message-----
From: xxxxx@NAI.com [mailto:xxxxx@NAI.com]
Sent: Thursday, July 24, 2003 5:58 PM
To: Windows System Software Developers Interest List
Subject: [ntdev] Re: Remote Address query with TDI
Jeff,
I am little confused. Are you saying “I do believe the answer is
don’t attach to TCP or UDP or try to do TDI filtering.”?
Right now the ways I know to find the application doing network
activity.
- attach to Afd. This is more undocumented than TDI. And you would miss
those connections the Tdi clients directly make using TDI interface to
Tcp/udp.
- patching the dispatch entry points of Afd. Insane method and I do not
see any advantage over the first one.
- attach to Tcp, udp, rawip. I have done this before and this is better
way as I know of today. I found one application till now Novell Netware
client(srvloc.sys) always manages to send requests directly to Tcp
device object instead of to the attached device object.
- patching the dispatch entry points of Tcp. I have not done before,
and I am not even sure if it is worth the effort to follow this path
just to capture those connections like I mentioned in third case.
Is there any other way such as writing an upper filter to tcpip driver
and I would receive all the requests before sent to tcp/udp/rawip
devices? Or some other magic which Microsoft approves?
Jeff & James,
I really appreciate your responses. I have been responding to
Tdi filter & Client driver queries on this list, but I my self am not
sure of Microsoft approved way of doing this. I don’t even know if there
is a Microsoft suggested way?
-Srin.
-----Original Message-----
From: Curless, Jeffrey [mailto:xxxxx@concord.com]
Sent: Thursday, July 24, 2003 1:57 PM
To: Windows System Software Developers Interest List
Subject: [ntdev] Re: Remote Address query with TDI
I can’t answer the original question either, but I can tell you I have
attached to
both TCP and UDP using IoAttachDevice, to do TDI filtering. I do
believe
the answer
is don’t attach to TCP or UDP or try to do TDI filtering.
In answer to 3 below, yes there is need for TDI filtering because at
the
NDIS
layer packets can and are sent in an arbitrary thread context. I made
a
two
layer driver before that correlated packets being sent to the process
that
created
the connection.
It would be nice if Microsoft either added support for TDI filtering,
or
the ability to know what process/thread/user opened the connection to
NDIS.
-Jeff
-----Original Message-----
From: James Antognini [mailto:xxxxx@mindspring.nospam.com]
Sent: Thursday, July 24, 2003 4:35 PM
To: Windows System Software Developers Interest List
Subject: [ntdev] Re: Remote Address query with TDI
I cannot answer the question. In fact, I’m interested in the answer.
But
let
me add a few points:
-
I’ve heard that TDI is likely to change in the future.
-
How exactly do you propose filtering IRPs? In a separate posting,
you
mentioned IoAttachDeviceToDeviceStack, which suggests a WDM mechanism,
but
I’m not sure whether TDI is intended for such, that is, whether it is
set
up
that way. If, on the other hand, you intend to filter by overlaying
the
TDI
driver’s entry points for IRP processing (TDI_FW), that would
definitely
be
a no-no.
-
I believe there is a legitimate need for filter TDI IRPs, at least
for
open. Firewalls, for example, typically require knowing who is the
caller
of
a network service, and I think that that information is available only
in
the originating thread, where a routine tries to open a socket or such
like.
I don’t think the information is going to be available at, say, the
NDIS
level, which would ordinarily be the legitimate way of handling
network
traffic.
xxxxx@NAI.com wrote:
> Does it mean do not attach to \Device\Tcp? or does it mean
do
> not write TDI filter drivers?
>
–
If replying by e-mail, please remove “nospam.” from the address.
James Antognini
Windows DDK MVP
You are currently subscribed to ntdev as: xxxxx@concord.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
This footnote also confirms that this email message has been swept by
the latest virus scan software available for the presence of computer
viruses.
**********************************************************************
You are currently subscribed to ntdev as: xxxxx@nai.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
You are currently subscribed to ntdev as: xxxxx@concord.com
To unsubscribe send a blank email to xxxxx@lists.osr.com