저는 데비안 8을 사용하고 있습니다. 명령줄에서 외부 IP 주소를 어떻게 얻나요? 다음 명령이 그 일을 할 것이라고 생각합니다 ...
myuser@myserver:~ $ /sbin/ifconfig $1 | grep "inet\|inet6" | awk -F' ' '{print $2}' | awk '{print $1}'
addr:192.168.0.114
addr:
addr:127.0.0.1
addr:
그러나 보시다시피 LAN에 있는 컴퓨터의 IP 주소만 노출됩니다. 저는 전 세계의 지적재산권에 대해 배우고 싶습니다.
답변1
그러면 공개 IP가 귀하에게 반환됩니다.
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
답변2
dsl/케이블 모뎀/등에 대한 라우팅 가능한 IP를 의미합니다. 라우터가 있나요?
장치에 연결할 때 어떤 IP가 표시되는지 장치에 쿼리하거나 외부 서버에 문의해야 합니다. 가장 쉬운 방법은 계산된 검색과 마찬가지로 Google에서 "내 IP는 무엇입니까?"를 검색하는 것입니다. 첫 번째 검색 결과에서 알려줍니다. 명령줄에서 이 작업을 수행하려면 정보를 다시 표시하는 일부 스크립트의 출력을 확인해야 합니다. 동적 DNS 서비스 dyndns.org에서 사용할 수 있는 서비스를 제공합니다. 이 명령을 사용해 보세요.
wget http://checkip.dyndns.org -O -
당신은 다음과 같은 것을 얻어야합니다
HTTP request sent, awaiting response... 200 OK
Length: 105 [text/html]
Saving to: ‘STDOUT’
- 0%[ ] 0 --.-KB/s <html><head><title>Current IP Check</title></head><body>Current IP Address: 192.168.1.199</body></html>
- 100%[===================>] 105 --.-KB/s in 0s
2017-09-20 14:16:00 (15.4 MB/s) - written to stdout [105/105]
내 IP를 라우팅할 수 없는 일반 IP로 변경하고 굵게 표시했습니다.
IP만 원한다면 거기에서 IP를 구문 분석해야 합니다. 빠르고 지저분하지만 저에게는 효과적이었습니다. 더 좋고 안전한 방법이 있을 것이라고 100% 확신합니다.
wget http://checkip.dyndns.org -O - | grep IP | cut -f 2- -d : | cut -f 1 -d \<
이것이 당신에게 줄 것입니다
192.168.1.199
답변3
대안(파싱 방지):
IPv4 받기
curl -4 icanhazip.com
IPv6 받기
curl -6 icanhazip.com