Tom Kelliher, CS 325
Feb. 13, 2008
In this lab, you'll be interacting with Internet application servers directly through telnet, or indirectly through dig, jwhois, and traceroute. The purpose of the lab is for you to get a feel for yourself for the protocols that power some of the services available on the Internet.
Open a Cygwin connection to kingfisher and login. (Don't change your password until you've completed the POP experiment.) Under the Applications menu, open the Accessories sub-menu and run an instance each of the Terminal and the Text Editor. Why a text editor? When communicating with a server, if you mis-type a character you generally can't use the Backspace key to correct it. What you can do if to type your commands in the text editor, and then use copy/paste to enter them into the running telnet session.
220 bluebird.goucher.edu ESMTP Sendmail 8.13.8/8.13.8;\ Tue, 12 Feb 2008 11:11:49 -0500 >>> HELO bluebird.goucher.edu 250-bluebird.goucher.edu Hello bluebird.goucher.edu [127.0.0.1],\ pleased to meet you >>> MAIL From:<firstname.lastname@example.org> 250 2.1.0 <email@example.com>... Sender ok >>> RCPT To:<firstname.lastname@example.org> >>> DATA 250 2.1.5 <email@example.com>... Recipient ok 354 Enter mail, end with "." on a line by itself >>> . 250 2.0.0 m1CGBnQi007121 Message accepted for delivery kelliher... Sent (m1CGBnQi007121 Message accepted for delivery) Closing connection to [127.0.0.1] >>> QUIT 221 2.0.0 bluebird.goucher.edu closing connection
Subject: Zombies are cool CC: firstname.lastname@example.org Hey!But, think about (and maybe try) this -- Would the CC line above actually result in delivery of e-mail, or does something else have to be done? How about BCC recipients; how is that feature implemented?
Connected to kingfisher.goucher.edu (10.67.1.43). Escape character is '^]'. +OK POP3 Ready <email@example.com> user kelliher +OK pass LinusTorvaldsForPresident +OK opened mailbox for test list +OK 1 893 2 499 . retr 1 +OK Return-Path: <firstname.lastname@example.org> ... This email is from post. . dele 1 +OK Message 1 marked retr 2 +OK Return-Path: <email@example.com> ... This is a test from kingfisher. . dele 2 +OK Message 2 marked quit +OK
Obviously, most of the requests we'll be making will return lots of HTML that we don't really care about -- we just want to see the response headers. Here's how to do that:
telnet google.com http | head -20
GET / HTTP/1.1 Connection: close Host: google.comRemember: The client request is terminated by a blank line, so there are two carriage returns following the
Ordinarily, the value of the
Host header should be the same as the
host to which you're connecting.
What happens if you make the same request, but set the
host value to
www.google.com? Why did that happen?
hostline? If the
hostvalue doesn't match the FQDN of the host to which you're connecting?
Repeat for phoenix.goucher.edu.
For most of the following you'll be using dig. Here are a couple notes:
dig kta.org <type>replacing
<type>with mx or ns.
dig -x 10.67.1.35
dig @ns1.msft.net foo.bar.com
Try the following:
Traceroute is used to determine how many routers are between you and another host, and to determine where packets are encountering bottlenecks.