명령줄에서 내 IP 주소를 어떻게 얻나요? [복사]

명령줄에서 내 IP 주소를 어떻게 얻나요? [복사]

저는 데비안 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

관련 정보