Perl prototype: v0.30
- pcaplib support added; daemon no longer requires firewall log file
2004-Nov-14 18:59 | ...more
new Net::Pcap support added to sniff packets directly ...more
This section introduces the idea of communication ports and firewalls at a very introductory level. If you are familiar with TCP/IP and firewalls, you can skip past this section and go straight to the details
of the port knocking implementation. This introduction is not a technical document and is targetted at a non-technical audience or novices computer users and administrators.
When two networked computers communicate with one another (i.e., send data to each other in a mutually agreed upon manner) they do so using one of several different
. A protocol, much like that in human communication, is composed of a precise and specific definition of how communication should start, continue and end. Network protocols include
(Transmission Control Protocol/Internet Protocol),
(User Datagram Protocol) and
(Internet Control Message Protocol).
Each protocol is designed for applications with specific requirements. For example, when two computers communicate using UDP, the computer that receives the data does not acknowledge receipt, whereas when TCP/IP is used the sender can ascertain whether the transmission has been received. This makes UDP more suitable for broadcast-type communication where less overhead is of benefit. On the other hand, TCP was designed to be robust and to maximize the likelihood of successful transmission.
Communication takes place between a
on one computer and another port on another computer. There are 65,536 available ports. Conventionally, the full range of ports is divided functionally into three groups which will be described shortly. A
is a combination of a particular IP address and a port. For example, I can create a socket on my computer at a particular port (e.g., composed of my IP address and port ssh/22) and wait for you to create your socket to connect to my socket. This is how communication starts: using a client socket on your computer you connect to my server socket.
A port is numbered and, if associated with an application agreed upon by IANA or other conventions, associated with an
. An application protocol is a well-defined way for a server and client components of an application to communicate towards a mutual goal. For example, the communication between a mail server and a mail client is very different than the communication between a web server and a web browser. Mail clients need to know how to read a message, delete a message, download more mail headers, etc and communicate using the
protocols. Web clients need to know how to fetch web pages, process web page contents, upload form data, etc, and speak the
protocol. Typically a given client application is designed to communicate with a particular class of server applictions using a single protocol.
last updated 2010-Oct-17 10:17