Newsgroups : Borland : borland.public.delphi.internet.winsock : 2007 Nov : Weird Indy + Ethereal + firewall?? occurrence.
| Subject: | Weird Indy + Ethereal + firewall?? occurrence. |
| Posted by: | "IanH" (none@nospam.com) |
| Date: | 19 Nov 2007 03:25:44 |
Hi,
Using D5 + Indy 9 on XP.
I've got a problem running existing software that was previously ok,
which I am investigating using a simplified test app.
The app uses TIdUDPClient + TIdUDPServer to send/receive a fixed
message string (via broadcast), repeated every few seconds on a timer.
The server UDPRead event checks the incoming PeerIP against the local
IP to maintain counts of local / remote messages seen.
The app runs fine on some machines, not on others: the app appears
unable to receive the UDP packets being broadcast by that machine.
The common factor appears to be the Kaspersky Anti-Hacker firewall on
XP(even when Kaspersky is disabled, or Windows Firewall is used as a
replacement). While I can remove KAV if absolutely necessary, I would
like to track things down a bit further before I have to resort to that.
My question relates to an interesting symptom seen on my development
machine. I can detect incoming packets being broadcast from my local
machine, but ONLY when I startup my Ethereal monitor program and click
on the 'List of Capture Interfaces'. While the interface list is on
screen - which has a live display of packet/s on each interface - my
app can see local broadcast messages. As soon as the interface list is
closed, the local message count stops increasing. The app also works
while data is being captured.
Obtaining the source for Ethereal appears to be a bit complicated: I
would need a local CVS client, the documentation wasn't helpful in
finding a place to start, and I am also not sure if the relevant
functionality is buried in the packet capture utility, which looks like
a separate program (WinPCap).
I would love to know what Ethereal is doing to allow my app to start
working. It could be useful when it comes to deploying my app on
customers' sites.
Does anybody have any ideas? Are there any Win32 / WinSock API calls I
should be looking at?
TIA
Ian