Full Stack for Front End Engineers Exercise 2: Traceroute
This course has been updated! We now recommend you take the Full Stack for Front-End Engineers, v3 course.
Transcript from the "Exercise 2: Traceroute" Lesson
>> Jem Young: All right, next exercise, trace routes. So, Ping tells us is the server alive. But it won't tell us how we got there. Trace routes is a way of saying these are all the hops that your request took to get to a server. So you rarely ever connect directly to a server, cuz the server is probably on the other side of the world.
[00:00:21] He has to keep passing that data along the pipe. Trace route is a good way of showing how we got there. So, in Windows, it's tracert. In OSX, Mac OS, or Unix based system, it's traceroute. And you should see some nice, cool output, looks something like this.
>> Jem Young: Everybody see something, trace route?
[00:00:50] All right so what's happening is, your request on your local machine, it should be 192.168.whatever. That's a local address, and it keeps making these hops. So this is so cool because you're literally seeing your requests hop from server to server to server to server to server to server around the world.
[00:01:09] Until it finally gets to where it's going. So we see, we start on a local machine. Then we move to our router. Remember I said 192.168.01 is generally your router. And we see that's the second request in my particular example. And then it hops to your ISP, and then it hops into another level.
>> Speaker 2: There's just a question on Linux. He was getting Inetutils, traceroute tracerout. He's actually asking, which one?
>> Jem Young: It's just traceroute.
>> Speaker 2: Traceroute here, okay.
>> Jem Young: It should be built into the core of most Linux distributions. But if not, you can just act install.
>> Jem Young: Okay, but, so, this is incredibly useful.
[00:01:50] So Ping says, is my site alive and well? Trace route says, how am I getting there? And it's really useful to know, because let's say your DNS is up, but you're typing in your domain. You're going to jemyoung.com, but it's still not resolving. Trace route will tell you exactly where in the stack that it's failing.
[00:02:09] So it could be your ISP's down. It could be your router's down. It could be Amazon's down, God forbid, jeez. It could be Rackspace down, it could be a lot of things. But trace route is just saying, here's how I got here. Here's how I got from one end to the other end.
[00:02:26] And I love trace route, it's one of my favorite tools, extremely useful. It's a good tool to have in your toolbox just for network diagnostics. Just seeing what's happening on your server. And it uses something called Internet Control Message Packet. So, there's a TCP, transmission control packet, and also a transmission control protocol.
[00:02:45] ICMP is Internet Control Message Packet. It's just a way of communicating to your server, not information, but just commands. So you can do time, sometimes you can do email commands through ICMP. But through trace route, you're actually sending ICMP packets. I know, this stuff is not sexy at all.
[00:03:06] But it's how the internet works, and it's so cool. I love this stuff.