Hmm... If you are wanting to start COMPLETELY from scratch then you will need an EXTREMELY intimate knowledge of how TCP/IP packets are formed. If you'd like to do it a simpler way, you could use something like libpal to form the packets and write...