…or GCP? …or AWS?

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 days ago

      CloudFlare is going to have someone talking directly to a CloudFlare IP address, so it’s going to be visible.

      AWS or GCP provide servers which might be behind something like CloudFlare. If they were deployed like that, I don’t believe that there’d be a straightforward way to determine that that’s where the server is hosted.

      If it’s directly-accessible, and not using a CDN like CloudFlare, then it’d work the same way as if you were checking whether they’re using CloudFlare, just do a whois query on its IP address. I don’t know a real instance offhand directly-accessible on AWS, but to grab a random AWS hostname and Google Cloud Platform hostname:

      $ host ec2-23-20-1-1.compute-1.amazonaws.com.
      ec2-23-20-1-1.compute-1.amazonaws.com has address 23.20.1.1
      $ whois 23.20.0.0|grep ^NetName
      NetName:        AMAZON-EC2-USEAST-10
      NetName:        AMAZON-IAD
      $ host 3.192.170.108.bc.googleusercontent.com
      3.192.170.108.bc.googleusercontent.com has address 108.170.192.3
      $ whois 108.170.192.3|grep ^NetName
      NetName:        GOOGLE
      $
      

      For a real host, we can just ad-hoc scrape lemmy.world’s instance list:

      $ curl -s https://lemmy.world/instances |tr '}' '\n'|grep -o 'domain":".[^"]*'|sed 's/domain":"//' >threadiverse-hosts.txt
      $ xargs <threadiverse-hosts.txt -n1 host -- >threadiverse-hosts-resolved.txt
      $ grep "has address" threadiverse-hosts-resolved.txt |cut -d" " -f4|xargs -n1 host -- >threadiverse-hosts-reverse-resolved.txt
      $ grep amazonaws.com threadiverse-hosts-reverse-resolved.txt|head -n1
      75.184.193.54.in-addr.arpa domain name pointer ec2-54-193-184-75.us-west-1.compute.amazonaws.com.
      $ grep 54.193.184.75 threadiverse-hosts-resolved.txt|head -n1
      c63b-77-100-144-83.ngrok-free.app has address 54.193.184.75
      $
      

      So there’s the hostname of a real instance using AWS directly, c63b-77-100-144-83.ngrok-free.app.

      $ host c63b-77-100-144-83.ngrok-free.app|head -n1
      c63b-77-100-144-83.ngrok-free.app has address 184.72.44.51
      $ whois 184.72.44.51|grep ^NetName
      NetName:        AMAZON-EC2-7
      NetName:        AMAZON-SFO
      $