Read the UNIX/Linux man pages for the following commands, and then try each one with their various options: telnet, ftp, rlogin, rsh, rcp, netstat, ifconfig, arp, dig, nslookup, w, finger, ypcat, ps, df, sendmail, traceroute, ripquery, etherfind. (Not all of these will be available). Determine which of these programs are available in Windows and UNIX/Linux. Post your results (OK, command not found, permission denied, etc.) for each system you try.
Use ping with appropriate options to trace how packets are routed between your computer and various well known web servers such as www.aol.com, www.yahoo.com, etc. Post your results.
Use telnet to view a web page by sending an HTTP command, for instance:
telnet www.fit.edu 80 GET /
Use dig or nslookup to find the mailbox exchange or MX record for some well known email servers, such as yahoo.com, hotmail.com, fit.edu, or cs.fit.edu. For example, when you mail to email@example.com, the MX record would tell you to actually connect to winnie.fit.edu. What is the IP address (A record) of winnie? What are the MX and A records for cs.fit.edu?
Use telnet to send yourself mail using SMTP. For instance:
telnet winnie.fit.edu 25 MAIL FROM: firstname.lastname@example.org RCPT TO: mmahoney DATA Subject: test This is a test. .Turn on logging or use tee to record your session and post it.
Find and skim the RFCs on http://www.ietf.org/ for the following protocols: HTTP, SMTP, POP, telnet, FTP, TCP, IP, DNS. (These are long - you should know what's in them but don't have to read the whole thing). Which RFC number applies to each one?
1. Install the clock applet on your web page. Give the user the ability to set the time. Choose one or more of the following techniques:
2. The telnet program, it is possible for the receiver and the keyboard event handler threads (with local echo on) each to put a character to the terminal at the same time. Identify a sequence of context switches between threads that would cause one character to be overwritten by the other and apparently be lost. Modify the program to prevent this from happening. (Hint: This can be done by adding one word to the program).
Add a checkbox to allow the user to turn local echo on and off.
If your term project is to develop a telnet client, then by Apr. 20, implement the terminal negotiation options described in RFC 854. In particular, the server should be able to turn local echo on and off (for instance, when entering a password). Your terminal should also implement enough VT100 emulation so that editors like vi work correctly (i.e. cursor movement, clearing the screen or to the end of a line, determining the size of the screen, etc.)
3. Install and test Webserver.java by running it locally. Create an HTML file in the same directory and try to view it using a browser. Try entrering the URL http://localhost/index.html or http://127.0.0.1. If you are using UNIX (or NT), you may need to change the port number (80) to a number higher than 1024 so you can run it without being root. For instance, if you use port 8000, enter http://127.0.0.1:8000/index.html.
If your term project is to implement a web server, then by Apr. 20, extend Webserver.java to implement more of the HTTP protocol. In particular, your server should support:
HTTP/1.1 200 OK Server: MyWebServer/1.0 Last-Modified: Thu, 3 Mar 2000 10:30:35 Content-Type: text/html Content-Length: 3298 <html> messsage body... </html>If the client then sends a request:
GET /index.html HTTP/1.1 User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg If-modified-since: Thu, 3 Mar 2000 10:30:35and the if-modified-since date is the same, then send back only the header with a content-length of 0 and a blank line without the body of the message.