What to use for firewall testing (port opened or not)

view story

http://unix.stackexchange.com – so... we know that we can test that if a port is open on the firewall with: telnet SERVERIP PORT ..but afaik there are services that can't be tested with telnet, because ex.: telnet doesn't know that protocol that the service is using, and telnet will report that the port is closed, but in reality the service is up&running. Q: first: was I correct about telnet? second: What to use for testing that a port is opened on a server? (so it's not blocked by a firewall) - are there any unix tools for this? (HowTos)