반응형
웹사이트 주소로 IP 주소 알아내는 방법
개요
인터넷에서 웹사이트를 찾아갈 때 우리는 'naver.com'이나 'google.com' 같은 쉬운 이름을 입력합니다. 하지만 컴퓨터는 실제로 숫자로 된 주소(IP 주소)를 사용해서 웹사이트를 찾아갑니다. 마치 우리가 친구 집에 갈 때 "철수네 집"이라고 부르지만, 실제로는 "서울시 강남구 123번지"라는 정확한 주소가 있는 것과 같습니다.
웹사이트의 IP 주소를 알아내는 방법은 여러 가지가 있습니다. 이 글에서는 컴퓨터 초보자도 쉽게 따라할 수 있는 방법부터 프로그래밍까지 다양한 방법을 차근차근 알려드리겠습니다. 인터넷이 느릴 때 문제를 찾거나, 웹사이트를 만들 때, 또는 단순히 궁금해서 확인하고 싶을 때 유용하게 사용할 수 있습니다.
웹사이트의 IP 주소를 알아내는 방법은 여러 가지가 있습니다. 이 글에서는 컴퓨터 초보자도 쉽게 따라할 수 있는 방법부터 프로그래밍까지 다양한 방법을 차근차근 알려드리겠습니다. 인터넷이 느릴 때 문제를 찾거나, 웹사이트를 만들 때, 또는 단순히 궁금해서 확인하고 싶을 때 유용하게 사용할 수 있습니다.
목차
1. IP 주소와 도메인의 이해
2. 명령어를 이용한 IP 주소 확인 방법
3. 온라인 도구와 브라우저를 활용한 방법
4. 프로그래밍을 통한 IP 주소 확인
5. IP 주소 확인 시 알아야 할 사항
#1. IP 주소와 도메인의 이해
1) IP 주소란 무엇인가?
IP 주소는 인터넷에 연결된 컴퓨터나 스마트폰의 고유한 번호입니다. 마치 우리 집 주소나 전화번호처럼 인터넷 세계에서는 각 기기마다 고유한 번호가 있어야 정확하게 데이터를 주고받을 수 있습니다.
(1) IP 주소의 두 가지 종류
현재 사용되는 IP 주소는 두 가지 형태가 있습니다. 둘 다 같은 역할을 하지만 숫자 표현 방식이 다릅니다.
① IPv4 - 192.168.1.1처럼 점(.)으로 구분된 4개의 숫자로 이루어져 있습니다. 각 숫자는 0부터 255까지만 가능하며 가장 많이 사용되는 방식입니다.
② IPv6 - 2001:0db8:85a3:0000:0000:8a2e:0370:7334처럼 훨씬 긴 형태입니다. IPv4 주소가 부족해지면서 만들어진 새로운 방식입니다.
② IPv6 - 2001:0db8:85a3:0000:0000:8a2e:0370:7334처럼 훨씬 긴 형태입니다. IPv4 주소가 부족해지면서 만들어진 새로운 방식입니다.
. . . . .
2) 도메인 이름과 IP 주소의 관계
우리가 웹브라우저 주소창에 www.naver.com이라고 입력하면 컴퓨터는 자동으로 이것을 IP 주소로 바꿔줍니다. 이 일을 해주는 시스템을 DNS(Domain Name System)라고 합니다.
DNS는 일종의 '인터넷 전화번호부'라고 생각하면 쉽습니다. 우리가 친구 이름만 알면 전화번호부에서 번호를 찾듯이 DNS는 웹사이트 이름(도메인)을 입력하면 자동으로 해당하는 IP 주소(숫자)를 찾아줍니다. 덕분에 우리는 복잡한 숫자를 외울 필요 없이 간단한 이름만 기억하면 됩니다.
DNS는 일종의 '인터넷 전화번호부'라고 생각하면 쉽습니다. 우리가 친구 이름만 알면 전화번호부에서 번호를 찾듯이 DNS는 웹사이트 이름(도메인)을 입력하면 자동으로 해당하는 IP 주소(숫자)를 찾아줍니다. 덕분에 우리는 복잡한 숫자를 외울 필요 없이 간단한 이름만 기억하면 됩니다.
#2. 명령어를 이용한 IP 주소 확인 방법
1) Windows에서 nslookup 사용하기
가장 간단하면서도 정확한 방법은 nslookup 명령어를 사용하는 것입니다. 어려워 보이지만 따라하기는 아주 쉽습니다.
① 키보드에서 Windows키 + R을 동시에 누르거나 화면 하단 검색창에 "cmd"를 입력합니다.
② 검은 화면(명령 프롬프트)이 나타나면 아래 명령어를 입력하고 엔터를 누릅니다.
② 검은 화면(명령 프롬프트)이 나타나면 아래 명령어를 입력하고 엔터를 누릅니다.
nslookup naver.com
③ 화면에 여러 줄의 글자가 나타나는데 "Address:" 다음에 나오는 숫자가 바로 IP 주소입니다.
(1) 결과 화면 예시
Server: router.home
Address: 192.168.1.1
Non-authoritative answer:
Name: naver.com
Address: 223.130.200.107
Address: 192.168.1.1
Non-authoritative answer:
Name: naver.com
Address: 223.130.200.107
위 결과에서 223.130.200.107이 네이버의 IP 주소입니다. "Non-authoritative answer"라고 나오는 것은 걱정하지 않으셔도 됩니다. 이것은 단지 컴퓨터가 이전에 저장해둔 정보를 보여준다는 의미입니다.
. . . . .
2) Windows에서 ping 사용하기
ping 명령어는 nslookup과 비슷하지만 IP 주소를 확인하면서 동시에 해당 웹사이트가 잘 작동하는지도 확인할 수 있습니다.
① 위에서처럼 명령 프롬프트(검은 화면)를 엽니다.
② 아래 명령어를 입력하고 엔터를 누릅니다.
② 아래 명령어를 입력하고 엔터를 누릅니다.
ping naver.com
③ 첫 줄에 "Pinging naver.com [IP 주소]"와 같은 형태로 IP 주소가 표시됩니다.
(1) 결과 화면 예시
Pinging naver.com [223.130.200.107] with 32 bytes of data:
Reply from 223.130.200.107: bytes=32 time=15ms TTL=56
Reply from 223.130.200.107: bytes=32 time=14ms TTL=56
Reply from 223.130.200.107: bytes=32 time=15ms TTL=56
Reply from 223.130.200.107: bytes=32 time=16ms TTL=56
Reply from 223.130.200.107: bytes=32 time=15ms TTL=56
Reply from 223.130.200.107: bytes=32 time=14ms TTL=56
Reply from 223.130.200.107: bytes=32 time=15ms TTL=56
Reply from 223.130.200.107: bytes=32 time=16ms TTL=56
위 결과를 보면 네이버의 IP 주소는 223.130.200.107이고 "Reply from..."이라는 메시지가 나온다면 웹사이트가 정상적으로 작동하고 있다는 뜻입니다. time=15ms 같은 숫자는 응답 속도를 나타내는데 숫자가 작을수록 더 빠릅니다.
. . . . .
3) Mac/Linux에서 dig 사용하기
Mac 컴퓨터나 Linux를 사용하신다면 dig 명령어를 사용할 수 있습니다. Windows의 nslookup보다 더 자세한 정보를 보여줍니다.
① Mac에서는 "터미널"이라는 프로그램을 엽니다. (응용 프로그램 → 유틸리티 → 터미널)
② 아래 명령어를 입력합니다.
② 아래 명령어를 입력합니다.
dig naver.com
③ 결과 화면에서 "ANSWER SECTION" 부분을 찾으면 IP 주소가 있습니다.
(1) 결과 화면에서 IP 주소 찾기
;; ANSWER SECTION:
naver.com. 86400 IN A 223.130.200.107
;; Query time: 25 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
naver.com. 86400 IN A 223.130.200.107
;; Query time: 25 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
"ANSWER SECTION" 아래에서 223.130.200.107과 같은 숫자를 찾으면 됩니다. dig 명령어는 전문가들이 네트워크 문제를 해결할 때 많이 사용하는 도구입니다.
#3. 온라인 도구와 브라우저를 활용한 방법
1) 클릭만으로 확인하는 온라인 도구
명령어 입력이 어렵거나 불편하다면 인터넷 웹사이트를 이용하는 것이 가장 쉽습니다. 검색창에 도메인만 입력하면 IP 주소를 바로 알려줍니다.
① whatismyip.com - 영어로 되어 있지만 사용하기 매우 간단합니다. 'Domain to IP' 메뉴를 클릭하고 웹사이트 주소를 입력하면 됩니다.
② dnschecker.org - 전 세계 여러 나라에서 확인한 IP 주소를 보여줍니다. 나라마다 다른 결과가 나올 수 있다는 걸 확인할 수 있습니다.
③ mxtoolbox.com - IP 주소 확인 외에도 인터넷과 관련된 여러 가지를 검사할 수 있는 도구가 많습니다.
④ ipinfo.io - IP 주소뿐만 아니라 그 서버가 어느 나라에 있는지도 지도로 보여줍니다.
② dnschecker.org - 전 세계 여러 나라에서 확인한 IP 주소를 보여줍니다. 나라마다 다른 결과가 나올 수 있다는 걸 확인할 수 있습니다.
③ mxtoolbox.com - IP 주소 확인 외에도 인터넷과 관련된 여러 가지를 검사할 수 있는 도구가 많습니다.
④ ipinfo.io - IP 주소뿐만 아니라 그 서버가 어느 나라에 있는지도 지도로 보여줍니다.
이런 웹사이트들은 별도로 프로그램을 설치할 필요 없이 웹브라우저만 있으면 누구나 쉽게 사용할 수 있어 매우 편리합니다.
. . . . .
2) 웹브라우저로 IP 주소 확인하기
크롬이나 파이어폭스 같은 웹브라우저에는 개발자 도구라는 기능이 숨어있습니다. 이것을 사용하면 지금 보고 있는 웹사이트의 실제 IP 주소를 확인할 수 있습니다.
(1) 크롬(Chrome) 브라우저에서 확인하기
① 네이버나 구글 등 IP 주소를 알고 싶은 웹사이트에 접속합니다.
② 키보드에서 F12 키를 누릅니다. (맥에서는 Cmd + Option + I)
③ 화면 옆이나 아래에 개발자 도구 창이 나타나면 위쪽의 'Network' 탭을 클릭합니다.
④ 키보드에서 F5 키를 눌러 페이지를 새로고침합니다.
⑤ 목록의 맨 위에 있는 첫 번째 항목을 클릭합니다.
⑥ 오른쪽에 나타나는 정보 중 'Headers' 부분에서 'Remote Address'를 찾으면 IP 주소가 있습니다.
② 키보드에서 F12 키를 누릅니다. (맥에서는 Cmd + Option + I)
③ 화면 옆이나 아래에 개발자 도구 창이 나타나면 위쪽의 'Network' 탭을 클릭합니다.
④ 키보드에서 F5 키를 눌러 페이지를 새로고침합니다.
⑤ 목록의 맨 위에 있는 첫 번째 항목을 클릭합니다.
⑥ 오른쪽에 나타나는 정보 중 'Headers' 부분에서 'Remote Address'를 찾으면 IP 주소가 있습니다.
(2) 파이어폭스(Firefox) 브라우저에서 확인하기
① 확인하고 싶은 웹사이트에 접속합니다.
② 키보드에서 F12 키를 누릅니다.
③ 위쪽의 'Network' 탭을 클릭합니다.
④ F5 키로 페이지를 새로고침합니다.
⑤ 목록의 첫 번째 항목을 선택합니다.
⑥ 'Headers' 패널에서 'Remote IP'를 찾습니다.
② 키보드에서 F12 키를 누릅니다.
③ 위쪽의 'Network' 탭을 클릭합니다.
④ F5 키로 페이지를 새로고침합니다.
⑤ 목록의 첫 번째 항목을 선택합니다.
⑥ 'Headers' 패널에서 'Remote IP'를 찾습니다.
이 방법은 지금 이 순간 실제로 연결된 서버의 IP 주소를 보여줍니다. 큰 웹사이트들은 여러 개의 서버를 사용하기 때문에 위에서 명령어로 확인한 결과와 다를 수 있습니다.
#4. 프로그래밍을 통한 IP 주소 확인
1) Python으로 IP 주소 확인하기
Python의 socket 라이브러리를 사용하면 간단하게 도메인의 IP 주소를 확인할 수 있습니다.
(1) 기본 IP 주소 조회
import socket
def get_ip_address(domain):
try:
ip_address = socket.gethostbyname(domain)
return ip_address
except socket.gaierror:
return "도메인 주소를 확인할 수 없습니다."
# 사용 예시
domain = "example.com"
ip = get_ip_address(domain)
print(f"{domain}의 IP 주소는 {ip}입니다.")
def get_ip_address(domain):
try:
ip_address = socket.gethostbyname(domain)
return ip_address
except socket.gaierror:
return "도메인 주소를 확인할 수 없습니다."
# 사용 예시
domain = "example.com"
ip = get_ip_address(domain)
print(f"{domain}의 IP 주소는 {ip}입니다.")
(2) 모든 IP 주소 조회
여러 IP 주소를 모두 확인하려면 socket.getaddrinfo() 함수를 사용할 수 있습니다.
import socket
def get_all_ip_addresses(domain):
try:
addresses = socket.getaddrinfo(domain, None)
ip_list = []
for address in addresses:
ip = address[4][0]
if ip not in ip_list:
ip_list.append(ip)
return ip_list
except socket.gaierror:
return ["도메인 주소를 확인할 수 없습니다."]
# 사용 예시
domain = "google.com"
ips = get_all_ip_addresses(domain)
print(f"{domain}의 IP 주소 목록:")
for ip in ips:
print(f"- {ip}")
def get_all_ip_addresses(domain):
try:
addresses = socket.getaddrinfo(domain, None)
ip_list = []
for address in addresses:
ip = address[4][0]
if ip not in ip_list:
ip_list.append(ip)
return ip_list
except socket.gaierror:
return ["도메인 주소를 확인할 수 없습니다."]
# 사용 예시
domain = "google.com"
ips = get_all_ip_addresses(domain)
print(f"{domain}의 IP 주소 목록:")
for ip in ips:
print(f"- {ip}")
. . . . .
2) JavaScript(Node.js)로 IP 주소 확인하기
Node.js 환경에서는 dns 모듈을 사용할 수 있습니다.
(1) 기본 IP 주소 조회
const dns = require('dns');
function getIpAddress(domain) {
dns.lookup(domain, (err, address, family) => {
if (err) {
console.error('도메인 주소를 확인할 수 없습니다:', err);
return;
}
console.log(`${domain}의 IP 주소는 ${address} (IPv${family})입니다.`);
});
}
// 사용 예시
getIpAddress('example.com');
function getIpAddress(domain) {
dns.lookup(domain, (err, address, family) => {
if (err) {
console.error('도메인 주소를 확인할 수 없습니다:', err);
return;
}
console.log(`${domain}의 IP 주소는 ${address} (IPv${family})입니다.`);
});
}
// 사용 예시
getIpAddress('example.com');
(2) 모든 IP 주소 조회
const dns = require('dns');
function getAllIpAddresses(domain) {
dns.resolve4(domain, (err, addresses) => {
if (err) {
console.error('IPv4 주소를 확인할 수 없습니다:', err);
return;
}
console.log(`${domain}의 IPv4 주소 목록:`);
addresses.forEach((ip) => {
console.log(`- ${ip}`);
});
});
}
// 사용 예시
getAllIpAddresses('google.com');
function getAllIpAddresses(domain) {
dns.resolve4(domain, (err, addresses) => {
if (err) {
console.error('IPv4 주소를 확인할 수 없습니다:', err);
return;
}
console.log(`${domain}의 IPv4 주소 목록:`);
addresses.forEach((ip) => {
console.log(`- ${ip}`);
});
});
}
// 사용 예시
getAllIpAddresses('google.com');
#5. IP 주소 확인 시 알아야 할 사항
1) 왜 하나의 웹사이트에 여러 IP 주소가 있을까?
IP 주소를 확인하다 보면 같은 웹사이트인데 여러 개의 다른 IP 주소가 나올 때가 있습니다. 고장이 난 것이 아니라 정상입니다. 그 이유를 쉽게 설명해드리겠습니다.
① 많은 사람이 동시에 접속하기 때문 - 네이버나 구글처럼 큰 웹사이트는 하루에 수백만 명이 접속합니다. 한 대의 컴퓨터로는 감당할 수 없어서 여러 대의 서버 컴퓨터에 사람들을 나눠서 연결합니다. 마치 은행에 창구가 여러 개 있는 것과 같습니다.
② 가까운 곳에서 빠르게 연결하기 위해 - 서울에 사는 사람은 서울에 있는 서버로 부산에 사는 사람은 부산에 있는 서버로 연결됩니다. 멀리 있는 서버보다 가까운 서버가 더 빠르기 때문입니다.
③ 한 서버가 고장나도 계속 작동하게 - 여러 개의 서버가 있으면 하나가 고장나도 다른 서버로 연결되어 웹사이트를 계속 사용할 수 있습니다.
④ CDN이라는 특별한 기술 사용 - 이미지나 동영상 같은 큰 파일을 빠르게 보여주기 위해 전 세계 여러 나라에 같은 파일을 복사해서 저장해둡니다. 그래서 나라마다 다른 IP 주소가 나올 수 있습니다.
② 가까운 곳에서 빠르게 연결하기 위해 - 서울에 사는 사람은 서울에 있는 서버로 부산에 사는 사람은 부산에 있는 서버로 연결됩니다. 멀리 있는 서버보다 가까운 서버가 더 빠르기 때문입니다.
③ 한 서버가 고장나도 계속 작동하게 - 여러 개의 서버가 있으면 하나가 고장나도 다른 서버로 연결되어 웹사이트를 계속 사용할 수 있습니다.
④ CDN이라는 특별한 기술 사용 - 이미지나 동영상 같은 큰 파일을 빠르게 보여주기 위해 전 세계 여러 나라에 같은 파일을 복사해서 저장해둡니다. 그래서 나라마다 다른 IP 주소가 나올 수 있습니다.
구글이나 유튜브 같은 대형 웹사이트는 수백 개의 IP 주소를 가지고 있습니다. 접속하는 시간이나 장소에 따라 다른 IP 주소로 연결되는 것은 지극히 정상입니다.
. . . . .
2) IP 주소를 확인할 때 주의할 점
IP 주소를 확인할 때 알아두면 좋은 몇 가지가 있습니다.
| 주의할 점 | 설명 |
|---|---|
| 바로 바뀌지 않을 수 있어요 | 컴퓨터나 인터넷 회사에서 이전 정보를 잠시 저장해두기 때문에 웹사이트의 IP 주소가 바뀌어도 바로 반영되지 않을 수 있습니다. 보통 몇 시간 정도 기다리면 됩니다. |
| 진짜 서버 주소가 아닐 수 있어요 | 큰 웹사이트들은 중간에 다른 서버를 거쳐서 연결되는 경우가 많습니다. 그래서 확인한 IP 주소가 실제 원본 서버의 주소가 아닐 수 있습니다. |
| 지역마다 다를 수 있어요 | 전 세계에 서버가 있는 웹사이트는 서울에서 확인한 IP 주소와 부산에서 확인한 IP 주소가 다를 수 있습니다. |
| IPv4와 IPv6가 둘 다 있어요 | 어떤 웹사이트는 오래된 방식(IPv4)과 새로운 방식(IPv6) 주소를 모두 가지고 있습니다. 두 개 다 나온다고 이상한 것이 아닙니다. |
| 함부로 하면 안 돼요 | 다른 사람의 웹사이트를 허락 없이 공격하거나 스캔하는 행위는 법으로 처벌받을 수 있습니다. 본인이 관리하는 사이트나 공부 목적으로만 사용하세요. |
. . . . .
3) 실제로 어떤 경우에 필요할까?
IP 주소를 확인해야 하는 실제 상황들을 알아보겠습니다.
① 웹사이트를 만들 때 - 내가 만든 웹사이트의 도메인(주소)이 올바른 서버에 잘 연결되었는지 확인합니다.
② 인터넷이 안 될 때 - 특정 웹사이트가 안 열리는 이유가 우리 인터넷 문제인지 웹사이트 서버 문제인지 찾을 때 사용합니다.
③ 의심스러운 웹사이트 확인할 때 - 피싱 사이트나 이상한 웹사이트가 실제로 어디에 있는 서버인지 확인할 수 있습니다.
④ 회사에서 서버를 관리할 때 - 여러 개의 서버가 제대로 작동하는지 부하가 잘 분산되는지 모니터링합니다.
⑤ 특정 사이트 접속을 제한할 때 - 회사나 학교에서 방화벽으로 특정 웹사이트 접속을 막을 때 IP 주소가 필요합니다.
⑥ 접속 허용/차단 목록 만들 때 - 우리 서비스에 특정 IP 주소만 접속할 수 있게 하거나 특정 IP는 차단할 때 사용합니다.
② 인터넷이 안 될 때 - 특정 웹사이트가 안 열리는 이유가 우리 인터넷 문제인지 웹사이트 서버 문제인지 찾을 때 사용합니다.
③ 의심스러운 웹사이트 확인할 때 - 피싱 사이트나 이상한 웹사이트가 실제로 어디에 있는 서버인지 확인할 수 있습니다.
④ 회사에서 서버를 관리할 때 - 여러 개의 서버가 제대로 작동하는지 부하가 잘 분산되는지 모니터링합니다.
⑤ 특정 사이트 접속을 제한할 때 - 회사나 학교에서 방화벽으로 특정 웹사이트 접속을 막을 때 IP 주소가 필요합니다.
⑥ 접속 허용/차단 목록 만들 때 - 우리 서비스에 특정 IP 주소만 접속할 수 있게 하거나 특정 IP는 차단할 때 사용합니다.
일반 사용자는 ①②③ 정도만 알아두시면 되고 ④⑤⑥은 주로 전문가들이 업무에서 사용하는 경우입니다.
마무리
이 글에서는 웹사이트 주소로 IP 주소를 알아내는 여러 가지 방법을 알아보았습니다.
컴퓨터 명령어를 입력하는 방법부터 클릭만으로 확인할 수 있는 온라인 도구, 개발자라면 활용할 수 있는 프로그래밍 방법까지 다양합니다. 본인에게 가장 편한 방법을 선택해서 사용하시면 됩니다.
IP 주소 확인은 인터넷이 느릴 때 문제를 찾거나 웹사이트를 만들 때, 보안을 체크할 때 등 여러 상황에서 유용합니다. 오늘 배운 방법들을 잘 기억해두시면 앞으로 인터넷을 사용할 때 큰 도움이 될 것입니다.
한 가지 기억하실 점은 하나의 웹사이트가 여러 개의 IP 주소를 가질 수 있다는 것입니다. 이것은 많은 사람들이 동시에 접속해도 빠르게 서비스를 제공하기 위한 것이니 걱정하지 않으셔도 됩니다.
컴퓨터 명령어를 입력하는 방법부터 클릭만으로 확인할 수 있는 온라인 도구, 개발자라면 활용할 수 있는 프로그래밍 방법까지 다양합니다. 본인에게 가장 편한 방법을 선택해서 사용하시면 됩니다.
IP 주소 확인은 인터넷이 느릴 때 문제를 찾거나 웹사이트를 만들 때, 보안을 체크할 때 등 여러 상황에서 유용합니다. 오늘 배운 방법들을 잘 기억해두시면 앞으로 인터넷을 사용할 때 큰 도움이 될 것입니다.
한 가지 기억하실 점은 하나의 웹사이트가 여러 개의 IP 주소를 가질 수 있다는 것입니다. 이것은 많은 사람들이 동시에 접속해도 빠르게 서비스를 제공하기 위한 것이니 걱정하지 않으셔도 됩니다.
긴 글 읽어주셔서 감사합니다.
끝.
끝.
반응형
'Development > Etc' 카테고리의 다른 글
| [Etc] Windows에서 해시(Hash)로 명령어부터 GUI 도구까지 파일 비교하는 방법 총정리 (0) | 2023.01.25 |
|---|---|
| [Etc] Git에서 HEAD 의미 (0) | 2022.09.28 |
| [ETC] JWT 완벽 가이드 : 개념부터 실적 적용까지 (0) | 2019.09.11 |
| [Etc] CBOR 완벽 가이드 : 효율적인 데이터 교환 형식의 모든 것 (0) | 2019.03.12 |
| [Etc] CDN 완벽 가이드 : 개념부터 실전 적용까지 (0) | 2016.03.23 |