Tracking Phone

# DISCLAIMER #

The following information could be illegal and very sensitive. If you are by any means a sensitive person, please do not read. If you want to proceed anyway don't say I didn't warn you.

Origin

For a part of my life, I moved for the first time and was afraid of losing my friends. After 2 years I did in fact lose them and when I made new friends I made it where if I needed I could find you. At first, I had in mind evil but eventually, it turned into good as I knew it was illegal to do [well kind of] and only used if 100% necessary.

Only Time Use

I have only used the program once EVER [besides the test]. It was a "normal" day as I was working on the computer and just about to pack up for school when I get a knock on the door. I open it a little thrown off when it is the police. Which went like this

Police: Hello, we have reason that [Person 1] is in danger. Do you know where they are? Me: No not really, who referred to contact me Police: I can't say more than someone in [Town], but [Person 2] said you could help us. Me: Well sure thing, come in and we can boot back up the software.

I load up the computer and launch the software and get a call from my mom who was just notified of the situation. I have the police catch them up on my alternate phone. I get a call from Dad to have other police take that call while I am tracing the phone. I narrow it down and send police in that area to know I am accurate because those dispatched find [Person 1] car. I then pinpoint closer based on longer time tracing to find [Person 1]. After they found [Person 1] everyone left the house and later on during my time out at lunch with my friends I get a call. I get the full story and couldn't believe what actually was happening. A lot of What If.. go through my head but it is ok due to the final result.

Impact

The software saved someone's life as they were going to commit suicide, and I didn't even know it at the time. I won't forget that day and it took me a day to process once I was told the full story.

Overview

It would find the IP of close servers to a phone and triangulate the location based on response time.

Process

The program would send an MX packet to a target phone number as each phone number could have a corresponding email address. A packet with information in the header gives information about the server which is what I am signifying below

Sending 10 packets would get a good set of times and various close DNS servers that the packet made through before making it to the phone.

With the location and time [strength] of each response, we can calculate the phone location by triangulation

Breakdown

So if you don't know all these technologies right now it is an oh fuck moment. So back from the beginning.

Using python I sent a packet with the From and To. From was my email and To was the target phone. I used the translation by searching emailing a phone. More specifically it is the phone number in my example I use 555-555-5555 and the knowledge of the target phone is using AT&T.

When sending this it would look like this from a protocol standpoint

In my program, we are focusing on the target server right before it switches protocols.

The response would look like above which removing some information as from the time I wrote the program improvements have been made to this process. (I wrote it 5 years or so ago)

From this data, we can grab the different IP of servers nearby which using some IP tracking software get Longitude and Latitude location which repeating this process gives more accuracy

Current Status

Due to Anycast in DNS, this method does not work anymore. I can still get the IP address, but it is not going to be accurate. The IP address for the google servers are all the same so I could be getting the same IP address but different servers.

Example

So run through the program we send 10 packets. And receive [x packets] from [address] [average response time] 5 from 2.2.2.2 4.2 ms 1 from 2.2.2.3 5 ms 2 from 3.3.2.1 4.5 ms 2 from 3.3.4.4 7.5 ms

From this, we could draw a rough draft of what the program things it would be doing

This could be the case if there are less servers, but nowadays, 6 years later it would most likely look more like this

Which is significantly different. We still get a rough area but we are considering in this grid that the time is also average so it could also be a little skewed. For the most part, it was a good algorithm until a lot more of it changed.

Last updated

Was this helpful?