Search

dns

dns λͺ¨λ“ˆ

Node.js의 dns λͺ¨λ“ˆμ€ 도메인 이름과 IP μ£Όμ†Œ κ°„μ˜ λ³€ν™˜ 및 DNS(Domain Name System) 쑰회 κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. 이 λͺ¨λ“ˆμ„ μ‚¬μš©ν•˜μ—¬ 도메인 이름을 IP μ£Όμ†Œλ‘œ ν•΄μ„ν•˜κ±°λ‚˜, IP μ£Όμ†Œλ₯Ό 도메인 μ΄λ¦„μœΌλ‘œ λ³€ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

dns.lookup()

dns.lookup() ν•¨μˆ˜λŠ” 도메인 이름을 IP μ£Όμ†Œλ‘œ ν•΄μ„ν•©λ‹ˆλ‹€. 이 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 주어진 도메인 이름에 λŒ€ν•œ IP μ£Όμ†Œλ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:
const dns = require('dns'); dns.lookup('example.com', (err, address, family) => { console.log('IP μ£Όμ†Œ:', address); });
JavaScript
볡사

dns.reverse()

dns.reverse() ν•¨μˆ˜λŠ” IP μ£Όμ†Œλ₯Ό 도메인 μ΄λ¦„μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€. 이 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 주어진 IP μ£Όμ†Œμ— λŒ€ν•œ 도메인 이름을 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:
const dns = require('dns'); dns.reverse('192.0.2.1', (err, hostnames) => { console.log('도메인 이름:', hostnames); });
JavaScript
볡사
이 외에도 dns λͺ¨λ“ˆμ—λŠ” DNS 질의λ₯Ό μˆ˜ν–‰ν•˜λŠ” λ‹€μ–‘ν•œ ν•¨μˆ˜μ™€ μ΄λ²€νŠΈκ°€ μ œκ³΅λ©λ‹ˆλ‹€.

μ •μ˜

: DNS 와 μƒν˜Έμž‘μš©ν•˜μ—¬ IPμ£Όμ†Œμ™€ 도메인 이름 κ°„ λ³€ν™˜ κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” λͺ¨λ“ˆ
dns λͺ¨λ“ˆμ€ Node.jsμ—μ„œ μ œκ³΅ν•˜λŠ” λ‚΄μž₯ λͺ¨λ“ˆ 쀑 ν•˜λ‚˜λ‘œ, 도메인 λ„€μž„ μ‹œμŠ€ν…œ(Domain Name System)κ³Ό μƒν˜Έ μž‘μš©ν•˜μ—¬ 도메인 이름을 IP μ£Όμ†Œλ‘œ λ³€ν™˜ν•˜κ±°λ‚˜, IP μ£Όμ†Œλ₯Ό 도메인 μ΄λ¦„μœΌλ‘œ λ³€ν™˜ν•˜λŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

문법

dns λͺ¨λ“ˆμ€ Node.jsμ—μ„œ 기본적으둜 제곡되기 λ•Œλ¬Έμ— λ³„λ„μ˜ μ„€μΉ˜ 없이 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“ˆμ„ κ°€μ Έμ˜€κΈ° μœ„ν•΄ requireλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
const dns = require('dns');
JavaScript
볡사

μ£Όμš” 속성 및 λ©”μ†Œλ“œ

λ©”μ„œλ“œ
μ„€λͺ…
dns.lookup(hostname, options, callback)
주어진 호슀트 이름에 λŒ€ν•œ IP μ£Όμ†Œλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
dns.resolve(hostname, rrtype, callback)
주어진 호슀트 이름에 λŒ€ν•œ DNS λ ˆμ½”λ“œλ₯Ό ν™•μΈν•©λ‹ˆλ‹€. rrtype은 확인할 λ ˆμ½”λ“œ νƒ€μž…μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
dns.reverse(ip, callback)
주어진 IP μ£Όμ†Œμ— λŒ€ν•œ 호슀트 이름을 ν™•μΈν•©λ‹ˆλ‹€.

μ˜ˆμ‹œ μ½”λ“œ

const dns = require('dns'); const hostname = 'www.example.com'; // IP μ£Όμ†Œ 확인 dns.lookup(hostname, (err, address) => { if (err) { console.error('Error:', err); return; } console.log('IP Address:', address); }); // DNS λ ˆμ½”λ“œ 확인 dns.resolve(hostname, 'A', (err, records) => { if (err) { console.error('Error:', err); return; } console.log('DNS Records:', records); }); // 호슀트 이름 확인 const ip = '8.8.8.8'; dns.reverse(ip, (err, hostnames) => { if (err) { console.error('Error:', err); return; } console.log('Hostnames:', hostnames); });
JavaScript
볡사

μ‚¬μš© λͺ©μ 

dns λͺ¨λ“ˆμ€ 주둜 λ‹€μŒκ³Ό 같은 μž‘μ—…μ— μ‚¬μš©λ©λ‹ˆλ‹€:
β€’
도메인 이름을 IP μ£Όμ†Œλ‘œ λ³€ν™˜
β€’
DNS λ ˆμ½”λ“œ 확인 (νŠΉμ • νƒ€μž…μ˜ λ ˆμ½”λ“œ κ°’ μ–»κΈ°)
β€’
IP μ£Όμ†Œλ₯Ό 호슀트 μ΄λ¦„μœΌλ‘œ λ³€ν™˜
이 λͺ¨λ“ˆμ„ μ‚¬μš©ν•˜λ©΄ λ„€νŠΈμ›Œν¬ μƒμ—μ„œ ν˜ΈμŠ€νŠΈμ™€ κ΄€λ ¨λœ 정보λ₯Ό μ‘°νšŒν•  수 μžˆμŠ΅λ‹ˆλ‹€.