Packet Sniffer SDK DLL Edition

HNLBAdapter :: Methods :: LbAdpAddFilterUdpPort

 Previous Next

Set the rule for tracking of data transmitted by UDP for local OS.

Syntax:

VOID __stdcall LbAdpAddFilterUdpPort(HANDLE hLbAdp, USHORT Port, DWORD PortType);

Parameters:

hLbAdp

[in] HNLBAdapter object handle.

Port

[in] UDP port number, for which the data is transmitted.

PortType

[in] Filtering type for the port participating in UDP data transmission, as it is defined in HNLBPortFilter enumeration.

Description:

Use LbAdpAddFilterTcpPort to set the rule for tracking of UDP data transmitted for local OS.

Using of filtration rules for data transmitted by UDP allows to track only necessary ones, that dramatically increases the application performance and reliability.

You can change certain port type by function call with changed port filtering type for the same port.

Example of UDP traffic tracking to the port 53 (both remote and local ports!):

// OnLBUdpPacketReceive event handler
void __stdcall OnLBUdpPacketReceive(DWORD_PTR Param, DWORD_PTR ThParam,
                                    HANDLE hLBHosts, DWORD Direction,
                                    DWORD Pid, HANDLE hPacket,
                                    LPVOID pData, DWORD DataLength)
{
    ...
}
...
// Create HNLBAdapter object
HANDLE hAdp = LbAdpCreate(); 

// HNLBAdapter settings
LbAdpSetOnUdpPacketRecv(hLbAdp, OnLBUdpPacketReceive, 0);

// Turn off TCP traffic capturing
LbAdpSetCaptureTcp(hLbAdp, FALSE);

// Add UDP traffic tracking rule (DNS traffic on both remote and local ports 53)
LbAdpAddFilterUdpPort(hLbAdp, 53, lpfAny);

// Set flag of using filters for UDP traffic capture
LbAdpSetUseUdpPortFilters(hLbAdp, TRUE);

// Open adapter
DWORD Res = LbAdpOpenAdapter(hLbAdp);
...
See also:HNLBAdapter, HNLBPortFilter, LbAdpSetOnUdpPacketRecv