Teaching Monkeys PhilosophyLet me quote to you a line from one of my favorite films of all time, A Fish Called Wanda. In it, Kevin Kline plays the best role of his acting career in the character Auto. Auto believes that reading philosophy makes him an intilectual. Which is what he strives for. Jamie Lee Curtis playing Wanda, sees through this front and knows that he is just a big dumb american who thinks he is cool. In an arguement, Wanda calls Auto a 'big dumb ape', and then we cue the lines.
Auto: Apes don't read philosophy!
Wanda: Yes they do Auto, they just don't understand it.
This morning, my mission will be teaching the monkeys how a computer works on the inside. We have a book to shoot through, which should be an 8 hour class done in two four hour sessions. I am doing the whole thing in four, and I am going to skim the material. I wonder if my students would care how a processor actually registers information. Or how physical memory handles binary code. Only about half of these students have really used a computer, that is more or less to play 'soli-tairy' or to 'do e-mail'.
The whole concept of this particular course is rediculous. I plan on zipping through it, and focusing on what a 'monitor' is versus a 'liquid crystal display'. I would like to leave a nice long lunch in place so that I might explore the network I found this past Tuesday. Yes, I plan on setting up shop in the McDonalds parking lot again. This time, I WILL be getting out on this network. I brought with me a secret weapon ... Ethereal.
Ethereal is really simple Packet Analyzer for just about any flavor of *nix that runs X-Windows. What I found is that I needed something called 'Fink' which will allow me to install Ethereal as a package. It was a pain in the butt to get running, and it failed to find Ethereal, or download a current package list. After some searching I came across a utility called Fink Commander. Basically, it's a front end for fink that beats the piss out of the terminal based front end that came with the binaries. From the Commander, I was able to get a current package list, and install not only Fink, but also all the gnome libraries I was missing. I also had to install a dev-compat package of some kind that fixed some broken lib dependencies. Thankfully, a Google search lead me to someones Blog that explained that whole process that lead me to an error message.
Now I have Ethereal running like a champ under the X11 utility for OS X. It's neat. I can't wait to start grabbing those packets. It was such a busy network, it shouldn't be long before I have enough to discover my gateway, and DNS servers to use.
Now, it's class time. Wish me luck with my monkeys.
Big Mac Attack Part IIToday was the day I would invade the McNetwork. Pulling into the McParking McLot and checking the time, I had a good 2.5 hours to blow. I went ahead through the drive through and got a small Coke, so that I could call myself a McCustomer. Then I parked the car, and went to work.
Once again, connecting to the non-WEP network was a breeze, but I was unable to obtain an address from DHCP. I went ahead and started up Ethereal. I am really impressed with the speed and ease of use with Ethereal. Like most packet analyzers, when you start it up you are opening a 'fish net' for packets. Once you have tallied up a handful or more, you can stop the scan (retrieve the net) and see what you picked up.
I was interested in finding two pieces of information. A gateway to send traffic through to the Internet, and a DNS server to resolve host names. After several searches I was finding nothing. Strange thing about networking. I was seeing packets coming from the local network and going to the outside world. I could also see packets coming from the Internet back to local hosts. Never are you getting a hint about the router, or the gateway that took the packets there. This would be a problem. I threw out the net about four times before I was 'shown the way'. When it finally appeared in my scan, it was like Indiana Jones when the light shined into the small temple, exposing the location of the Arc of the Covenant.
If you notice in the photo, the line I have highlighted is the router. It stuck out like a sore thumb because the protocol for this packet was marked as an "arp request". Arp is a process by which a host knows the IP address of a destination, but it needs the MAC address. We only need this information for someone we plan on sending information DIRECTLY to without the use of another router. Generally, you need to know the MAC of your router or gateway, and you ask for that information on the network. I happened to catch it. It was either luck, or patience. Once you have the MAC, you will not ask for it again for probably 10 minutes or more.
Now I had to add the gateway like this.
audreyii:/Users/rayhaque root# route add default 22.214.171.124
To test my gateway to the outside world, I pinged the DNS servers I use at work. I got a reply which was good. I also needed a DNS to use, since I hadn't discovered the local DNS being used on this network. Here is how we add a DNS server really quickly for immediate use.
audreyii:/Users/rayhaque root# echo "nameserver 126.96.36.199" > /etc/resolv.conf
Now I have Internet, to test I connect to #thebroken on irc.gloop.net. The gangs all there! I also open up my Instant Messager and say howdy.
Then I am back out with Ethereal capturing more packets and having a look at this network. Two users on this network are abusing the hell out of it with Kazaa and Gnutella traffic. As you can imagine, it was hell digging through all that crap to get to the interesting stuff. Pretty quickly, I start coming across AIM info. Every time someones AIM buddy hops online, their 'presence' is sent to one of my two active users and I am picking it all up in my packet logs.
Here is a recieved message. Something about going to sleep later. Whatever.
Why stop with reading someone elses message. Why not message these people myself? I don't have to tell them how I came to meet them. I just want a new friend. I cannot resist, and I start adding these new found buddies to my list and messaging them.
I don't know who this guy is, but all of his friends suck. I messaged three of them and I never got a reply back. With all the AIM spam I get, I would probably ignore them too. But damn, I'm lonely here. Who else can I bother? I go back to fishing, picking up LOTS of Kazaa and Gnutella crap. But then I see this.
Oh man. This jerkwad is using Kazaa to download Charlie Brown's Christmas mp3's. He is probably the type of filetrader that has porno' with movie titles on it. So you download the latest hit film, and it's two bald German guys screwing each other.
A couple of times I pick up on some users who are checking their e-mail. But most of them have empty mailboxes, so I never get any messages to read through.
I thought it might be fun to message one of these people and ask "Hey, have you read your email today?", and when they say "yes" I could reply "well I read your e-mail too!".
Somehow I wasted well over two hours capturing packets and looking at them. I had a few conversations along the way on IRC and on my messengers. But damn did I waste some serious time. And boy was that fun.
I should do this EVERY Tuesday and Thursday that I am in this damn town.