Welcome to ISAserver.org

Forums | Register | Login | My Profile | Inbox | RSS RSS icon | My Subscription | My Forums | Address Book | Member List | Search | FAQ | Ticket List | Log Out

datamonitor question

Users viewing this topic: none

Logged in as: Guest
  Printable Version
All Forums >> [ISA Server 2004 Misc.] >> ISA Server 2004 Programming >> datamonitor question Page: [1]
Login
Message << Older Topic   Newer Topic >>
datamonitor question - 3.Mar.2006 4:55:14 AM   
wlim

 

Posts: 2
Joined: 25.Feb.2006
Status: offline
Hi,

I've been playing around with the ISA server. And I would like to find out which filter event to use for capturing UDP replies (e.g. DNS, ftp) from servers (DNS, ftp) which is on the same machine as the ISA 2004 server please?
Using the DataMonitor sample with fwx_Udp_Destination, I can capture DNS requests, but not able to see replies. Where have I missed out?
 
under the CDMFilter file, I have declared the events like this:

CDMFilter::CDMFilter()
{
   m_FwxFilterHookEvents.dwGlobalEvents = DWORD( fwx_Connect_Tcp
       | fwx_Udp_Destination
       | fwx_Bind_Udp
       | fwx_AcceptedConnection
       | FWX_ALL_PROTOCOLS
       | FWX_ALL_SOURCES);
}


and for eventhandler, I have modified it to:


STDMETHODIMP CDMSessionFilter::FirewallEventHandler(
const FwxFirewallEvent *pProxyEvent )
{
HRESULT hr = S_OK;
IFWXConnection* pConnection = NULL;
CDMPerRulePolicy* pPerRulePolicy = NULL;

switch (pProxyEvent->EventType)
{
case fwx_Udp_Destination:
{
DBGTRACE("SessionFilter::FirewallEventHandler – fwx_Udp_Destination\n");
pConnection = pProxyEvent->Parameters.UdpDest.piConnection;
pPerRulePolicy = (CDMPerRulePolicy*)pProxyEvent->Parameters.UdpDest.PerRuleProcessedData;
}
case fwx_Bind_Udp:
{
DBGTRACE("SessionFilter::FirewallEventHandler – fwx_Bind_Udp\n");
pConnection = pProxyEvent->Parameters.Bind.piConnection;
pPerRulePolicy = (CDMPerRulePolicy*)pProxyEvent->Parameters.Bind.PerRuleProcessedData;
}
case fwx_Connect_Tcp:
{
DBGTRACE("SessionFilter::FirewallEventHandler – fwx_Connect_Tcp\n");
pConnection = pProxyEvent->Parameters.Connect.piConnection;
pPerRulePolicy = (CDMPerRulePolicy*)pProxyEvent->Parameters.Connect.PerRuleProcessedData;
break;
}
case fwx_AcceptedConnection:
{
DBGTRACE("SessionFilter::FirewallEventHandler – fwx_AcceptedConnection\n");
pConnection = pProxyEvent->Parameters.Accept.piConnectionAccepted;
pPerRulePolicy = (CDMPerRulePolicy*)pProxyEvent->Parameters.Accept.PerRuleProcessedData;
break;
}
// Unexpected EventType

default:
ATLASSERT(
false);
return E_FAIL;
}
hr = CreateDataFilter(pConnection,pPerRulePolicy);

return hr;
}

Best Regards,

Wilson
Post #: 1

Page:   [1] << Older Topic    Newer Topic >>
All Forums >> [ISA Server 2004 Misc.] >> ISA Server 2004 Programming >> datamonitor question Page: [1]
Jump to:

New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts