Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 컴퓨터 네트워크
- 가상환경
- S3
- 파이썬
- AWS
- 데이터 파이프라인
- Go
- PYTHON
- airflow.cfg
- 데이터 엔지니어링
- 종류
- Django
- 데이터베이스
- redshift
- 운영체제
- dockerfile
- 자료구조
- 데이터엔지니어링
- 데이터 웨어하우스
- 정리
- HADOOP
- sql
- 컴퓨터네트워크
- TIL
- http
- TCP
- airflow
- Docker
- 데브코스
- linux
Archives
- Today
- Total
홍카나의 공부방
[컴퓨터 네트워크] 2-3. Python을 이용한 DNS 질의/응답 본문
Python을 이용하여 구글의 DNS와 패킷을 보내 질의/응답하는 코드를 작성해 보자.
DNS 란?
더보기
www.google.com에 접속을 하고자 하면
DNS가 domain name을 IP주소로 바꿔주면서 비로소 웹 사이트에 접속을 할 수 있게 된다.
이처럼 웹 사이트에 도메인 이름으로 접속하기 위해서는
도메인 이름을 IP주소로 바꿔주는 DNS의 주소와 포트 번호를 알아야 한다.
DNS의 포트번호는 IANA에 의해서 well-known-service로 표준 포트번호인 53번이 정해져 있다.
그리고 구글의 public DNS 주소는 8.8.8.8이므로, 해당 DNS와 통신해서 google.com의 IP주소를 알아내보겠다.
import dns.query
import dns.resolver
# 질의할 도메인 주소 입력
domain = 'google.com'
# 사용할 DNS Server 주소 입력
dns_server = '8.8.8.8'
# 도메인의 A record에 대한 DNS 쿼리 생성
query = dns.message.make_query(domain, 'A')
# DNS 서버로 쿼리 전송 및 응답 받기
response = dns.query.udp(query, dns_server)
# 응답 출력
print(response)
dns.query와 dns.resolver 라이브러리를 이용했으며,
간단한 A record 타입의 도메인 주소 해석을 요청해 본다.
이렇게 하면 구글 웹 사이트의 IP 주소가 출력될 것이다.
출력된 주소를 입력해서 구글에 접속해 보자.
반응형
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] 5-1. IPv4의 Classful Addressing (0) | 2022.12.26 |
---|---|
[컴퓨터 네트워크] 4. Network Layer Services (0) | 2022.12.26 |
[컴퓨터 네트워크] 2-2. 통신서비스의 구분 (0) | 2022.12.21 |
[컴퓨터 네트워크] 2-1. TCP/IP Protocol과 계층별 패킷 이름 (2) | 2022.12.21 |
[컴퓨터 네트워크] 1. 프로토콜과 표준(protocol & standard) (0) | 2022.12.21 |