Google Cloud Engine (줄여서 이하 GCE)로부터 회사의 서비스에 발생시키는 기계적인 트래픽을 알아내기 위해서 GCE의 전체 IP대역을 알아내서 확인해 보려고 했는데 여기저기 검색해 본 결과 DNS lookup을 하면 되는 것을 알아냈습니다.
이렇게 하시면 됩니다.
1 2 3 4 5 6 |
for LINE in `dig txt _cloud-netblocks.googleusercontent.com +short | tr " " "\n" | grep include | cut -f 2 -d :` do dig txt ${LINE} +short done | tr " " "\n" | grep ip4 | cut -f 2 -d : | sort -n |
명령의 결과는 밑에 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
8.34.208.0/20 8.35.192.0/21 8.35.200.0/23 23.236.48.0/20 23.251.128.0/19 35.184.0.0/14 35.188.0.0/15 35.190.0.0/17 35.190.128.0/18 35.190.192.0/19 35.190.224.0/20 35.192.0.0/14 35.196.0.0/15 35.198.0.0/16 35.199.0.0/17 35.199.128.0/18 35.200.0.0/15 35.202.0.0/16 35.203.0.0/17 35.203.128.0/18 35.203.240.0/20 35.204.0.0/16 35.206.64.0/18 104.154.0.0/15 104.196.0.0/14 107.167.160.0/19 107.178.192.0/18 108.170.192.0/20 108.170.208.0/21 108.170.216.0/22 108.170.220.0/23 108.170.222.0/24 108.59.80.0/20 130.211.128.0/17 130.211.16.0/20 130.211.32.0/19 130.211.4.0/22 130.211.64.0/18 130.211.8.0/21 146.148.16.0/20 146.148.2.0/23 146.148.32.0/19 146.148.4.0/22 146.148.64.0/18 146.148.8.0/21 162.216.148.0/22 162.222.176.0/21 173.255.112.0/20 192.158.28.0/22 199.192.112.0/22 199.223.232.0/22 199.223.236.0/23 208.68.108.0/23 |
많지 않은 것 처럼 보이지만 CIDR를 모두 풀어서 IP주소로 바꿔 놓으면 무지하게 많습니다. (구글 스케일. ‘ㅡ’;)
CIDR 형식으로 리턴되기 때문에 start, end 형식으로 바꾸시려면 Python을 사용하던지 해서 CIDR에서 Start IP와 End ip를 추출하면 됩니다. 시간이 되면 간단한 예제를 업데이트 해보겠습니다.