Hacker News new | ask | show | jobs
by DougN7 936 days ago
Having a simple paragraph about RIPE, BGP and ARIN would be helpful (at least for me).

Is there any way at all to do this for IPv6?

Additional info that would be helpful would be if this is hosted by one of the big tech companies (i.e. is it on AWS, Azure, etc), though maybe that will show up in the network info?

If the IP is associated with hostnames that would be nice to know. Not sure how much of a one-stop shop you want to be :)

2 comments

> Having a simple paragraph about RIPE, BGP and ARIN would be helpful (at least for me).

That's a great idea. I'll add a tooltip over some of the less obvious fields describing what they are.

> Is there any way at all to do this for IPv6?

Indeed! It's supported natively, so if you have an IPv6 address you should see it automatically. Here's an example <https://ip.guide/2600::>

> If the IP is associated with hostnames that would be nice to know.

I dig that idea, I'll have to think of the best way to pull that data while keeping the app stateless and fast.

> I dig that idea, I'll have to think of the best way to pull that data while keeping the app stateless and fast.

Reverse DNS lookups are usually pretty quick:

```shell

  > time dig +short -x 2600:dead::beef
  customer.my-isp.net.
  dig +short -x 2600:dead::beef  0.00s user 0.01s system 1% cpu 0.882 total
```
This might be useful to review:

https://news.ycombinator.com/formatdoc

"Text after a blank line that is indented by two or more spaces is reproduced verbatim. (This is intended for code.)"

Thanks.

I spend all day writing markdown and fenced blocks with type-hint is muscle memory at this point

Reverse DNS does not give you all the hostnames that can point to a particular IP address though.
Other than brute forcing, I don't think anything does — that's the beauty and the curse of a proper federated system :)
In fact, it might not even give you any names that point to an IP address, since it might be out of sync with the forward system, especially if the records are built by hand.
> Having a simple paragraph about RIPE, BGP and ARIN would be helpful (at least for me).

Same, I've always wondered how do websites like this get their information.

Great feedback, I'll add a little more to the site to describe how it all works. Until then...

At a 30,000ft view, the site works by building an in-memory routing table at boot time that has an entry for every route on the internet and which ASN (autonomous system number) announces it. From there, it stitches together data on the organization that the ASN belongs to, and geolocation data, and then exposes it in the API/UI. Under the hood it's using a treebitmap[1] data structure, which means that it can do _very_ fast lookups when given a particular ip address or ip address range.

Zooming in a little more, the main data source is MRT dumps from the RIPE RIS project[2]. There are a number of routers that RIPE (one of the 5 regional internet registries that hand out ASNs and IPs) that rely on network operators to share their view of every route on the internet. These routers are probably some of the most well-connected routers in the world. For the purposes of this service, MRT dumps are effectively a point-in-time snapshot of the routing table of that router. IP Guide parses that file, rebuilds it in memory, and attaches other relevant data to each IP range (also known as a "prefix").

This allows the service to stay fast and stateless, which was one of the main things I was trying to optimize for when building it.

[1]: https://blog.apnic.net/2021/06/04/storing-and-retrieving-ip-... [2]: https://ris.ripe.net/docs/10_routecollectors.html

Thanks !