For me, the most fascinating part of learning the traceroute command this week was the idea that each IP address the packets move through is tied to a physical place in the world. It was interesting to see the common network providers in the sites I regularly visit, but I became mostly curious about the locations they were associated with.
I decided to trace three websites of places that I have regularly commuted to in real life, including ITP (Greenwich Village), and my two most recent jobs at The New York Times (Times Square) and Kickstarter (Greenpoint). All three of these places are located in New York City, but running a traceroute shows that the packets bounced around to more far-reaching places in order to get to their respective websites.
I started by running the traceroute command in my command line:
I then used Maxmind to find the associated coordinates and other info based on IP addresses:
I then put all that data in a CSV file, which I changed into JSONs to make the data easy to work with.
From there, I used the Google Maps API to build a little page that would find a streetview location for every IP address passed through during the traceroute for itp.nyu.edu, kickstarter.com and nytimes.com.
The result is a sort of internet “commute” for the places that I have physically commuted to.
Of course these places aren’t exactly “accurate,” but it’s interesting, for example, that the last stops for both nytimes.com and kickstarter.com are in Seattle, probably because Amazon is there.
One note: I think it’s kind of funny how much more time my real world commute takes than this cyber commute, in spite of ostensibly shorter distances.
Anyway, this was a fun exercise in making the internet feel a little more physical.
The project is here, and the code is below.
https://gist.github.com/nicolehe/7e4fad768525690f1bf641d39d428424.js