The statistics that are quoted about user interactions with the Internet are hard toudcomprehend, a technology that didn’t exist m any real commercial way less than 20udyears ago is now probably the singularly most dominant resource available today Theudgrowth of the Internet has taken place entirely in my lifetime and its evolvement fromudits early educational existence to its current presence is incredible When I started onudthis Masters in Computing I jumped at the chance of being able to do the module onudComputer Networks followed a year later by the module on Telecommunications Iudhad been for years using the Internet without a strong understanding of the principlesudbehind its workings and saw these modules as a way to further improve myudknowledge of this areaudAfter the first module I knew that my project on this Programme would have to, mudsome way, take into account network communications and so since 2000 I have beenudsteadily learning more and more about network programming using C++ I originallyudplanned to write an application that would allow a program to get down to theudphysical layer and I was successful in using a resource called Packet32 dll to achieveudthisudHowever as Microsoft updated their operating systems from Windows NT toudWindows 2000 and then onto Windows XP the ability to get down to the physicaludlayer became extremely difficult In my research to build a project with C++ networkudprogramming, I came across a paper titled Beej's Guide to Network Programmingudusing Internet Sockets (http //beei us/guide/bgnet/l The paper described how one canudvudprogram at the Transport Layer of the TCP/IP Layers This paper led me onto theudwhole area of using simple Internet sockets to control the flow of information over audnetworkudThis Project shows how to design and build a simple Firewall that can protect audservice/application being run by a company It is based on using the Internet socketsudin C++ and shows how to manipulate data sent over the network The Firewalludpublishes a port number for an internal server’s application It will handle theudcommunications between any outside clients trying to use this application, basically itudwill operate as the go-between between the client and server No other personaludcomputer, not on the applications server’s network, can access the server directlyudwithout going through the firewalludI originally started writing this project using Turbo C++ and have migrated along withudMicrosoft to Visual Studio 6 0 and then onto Visual Studio NET I have to admit thatudall attempts to put a visual front end on the application have proven too difficult andudso as with most Microsoft Windows services I decided to opt for a INI file to hold theudinitialisation data My learning curve has shown me the power of these developingudenvironments but I do admit to missing Turbo C++udThe first part of this report stresses the need to Secure Network Communications Itudshows my research and understanding into the area of network security The secondudpart is the documentation for a practical implementation of a Firewall in C++ Ituddemonstrates the key principle of a firewall in its ability to act as safe go-between twoudnetworks In most cases this is the outside Internet and the mside private networkudVIudThis implementation is designed to handle TCP network protocols and the commonudports they use like HTTP (80), FTP (21) and TELNET (23). It shows how one canudwrite with relative ease using Internet sockets reliable and stable networkudapplications.udI will explain the code used in the application and give samples of the data that wasudsent to the Firewall, I will also show how the Firewall responded to this data byudshowing the results of simple tests.
展开▼