NETWORK SERVERS



DNS

Proxy Server

A normal web transaction takes place between a web browser and a web server. The browser, running on a local machine, contacts the web server running at a different location on the Internet and requests a particular document or other piece of data (based on the URL). Many of websites provide limited access to their websites and web servers through a technique called "domain restriction", in this case, the web server checks to see from which domain the request originated, i.e. on what part of the Internet the requesting browser is running. For the website provider, this is the most efficient way to enforce licensing restrictions over the Internet. Unfortunately, it means that many internet service providers will be denied access to "domain restricted" resources. A proxy server solves this problem by relaying ("proxying") requests between a web browser and a restricted domain. Once the
web browser has been told which proxy server to use, that machine servers as a "go between", forwarding transactions between
the browser and the actual websites from which documents are being requested. By proxying all requests through a proxy server located on Network, user can gain access to all resourrces that are "domain restricted". The resource provider's web server sees only the forwarded request from the proxy server, and thus allows the connection.Given beow are the steps involved in connection between the user and the proxy server. Once the web browser is configured, the browser will load a CGI script each time it is restarted. This script redefines the function that determines how to fetch the URL that is being requested. If the URL matches a pattern or a site that requires a proxy, it will connect to the proxy server rather than going directly to the site.

reference: http://www.bol.ucla.edu/services/proxy/curious.html

DHCP Server


reference: http://www.vicomsoft.com/knowledge/reference/dhcp1.html#1

Experiment

To view the traffic between the internet browser and the proxy server I created a dummy proxy, which is a interface between the actual proxy server and the browser. Following are the steps involved

The program was written in perl is given below.



use Socket;

socket(server,PF_INET,SOCK_STREAM,getprotobyname('tcp'));
bind(server,sockaddr_in(8001,inet_aton("127.0.0.1")));
listen(server,5);
accept(client,server);

while(1){
recv(client,$recvbuff,2000,0);
socket(proxy,PF_INET,SOCK_STREAM,getprotobyname('tcp')) or die "$!";
connect(proxy,pack('S n a4 x8',2,8080,inet_aton("144.16.67.8"))) || die "could not:$!";
send(proxy,$recvbuff,0);
recv(proxy,$recvbuff,20000,0);
print "Sending to browser....\n";
send(client,$recvbuff,0);
}
close(proxy);
close(server);

Note: This is test program, it services only one request from the browser.