solving ftp connection problems from a cmd prompt.

I’m not sure why, but a couple of times this week I’ve been unable to ftp files to any of my remote hosts from a command prompt (or within leechftp – my client of choice). When it failed, I would just get a connection refused error message before the username/password handshake takes place. As I’m running service pack2 and have the windows firewall enabled, I looked in the c:\windows\pfirewall.log file (something that I learnt about whilst doing the MCSDT exam – I didn’t know it did a log or that is where it put it!) and I was getting some dropped packets but no reason why. After a bit of digging on google I came across the How Windows Firewall Works document and it mentions that the Application Layer Gateway Service is required if you enable Windows Firewall on a computer that is an FTP client that does not use PASV ftp. The ALG service was running on the computer but a quick restart of the service and I could start ftp’ing again. I don’t see any obvious errors in the event logs as to why this service was not working properly but restarting the service is a lot more convenient than having to reboot the entire machine.