윈도에서 ipconfig /displaydns

park712의 이미지

윈도xp에서
ipconfig /displaydns ipconfig /flushdns
이 두 명령어의 소스 코드 어디가면 구할 수 있을까요?
아니면 pc의 dns 정보가 몇개까지 저장되는지
어떤 방법으로 갱신되는지 어떻게 추측하는지?
메모리 어느 부분에 저장되는지 알려면 어떻게 해야하지요?

아래는 지금 PC의 명령 결과값입니다.

Windows IP Configuration

ns6.yahoo.com

----------------------------------------

Record Name . . . . . : ns6.yahoo.com

Record Type . . . . . : 1

Time To Live . . . . : 2922

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 202.43.223.170

ns1.ad-indicator.com

----------------------------------------

Record Name . . . . . : ns1.ad-indicator.com

Record Type . . . . . : 1

Time To Live . . . . : 49849

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 211.115.93.66

nac.nasmedia.co.kr

----------------------------------------

Record Name . . . . . : nac.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 222.122.20.22

Record Name . . . . . : nac.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 222.122.20.23

Record Name . . . . . : nac.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 222.122.20.21

Record Name . . . . . : nac.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 222.122.20.25

Record Name . . . . . : nac.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 222.122.20.28

Record Name . . . . . : nac.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 222.122.20.26

Record Name . . . . . : nac.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 222.122.20.27

Record Name . . . . . : nac.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 222.122.20.24

Record Name . . . . . : ns1.nasmedia.co.kr

Record Type . . . . . : 1

Time To Live . . . . : 1566

Data Length . . . . . : 4

Section . . . . . . . : Additional

A (Host) Record . . . : 222.122.20.44

1.0.0.127.in-addr.arpa

----------------------------------------

Record Name . . . . . : 1.0.0.127.in-addr.arpa.

Record Type . . . . . : 12

Time To Live . . . . : 603371

Data Length . . . . . : 4

Section . . . . . . . : Answer

PTR Record . . . . . : localhost

adz.kr.yahoo.com

----------------------------------------

Record Name . . . . . : adz.kr.yahoo.com

Record Type . . . . . : 1

Time To Live . . . . : 1444

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 202.43.214.213

Record Name . . . . . : adz.kr.yahoo.com

Record Type . . . . . : 1

Time To Live . . . . : 1444

Data Length . . . . . : 4

Section . . . . . . . : Answer

A (Host) Record . . . : 211.115.101.152

Section . . . . . . . : Additional

익명 사용자의 이미지

MS 본사 XP개발팀 network 담당자 책상에 소스가 있을듯합니다.

익명 사용자의 이미지

윈도우의 네트워크 설정 관련은 iphlpapi.dll의 함수들을 잘~ 이용해서 하면 대충 됩니다만, 질문자께서 원하시는 것은 dnsapi.dll의 내부 함수를 알아야 짜기 쉽습니다.

* 대체로, 뭔가 특이하거나, 고성능등등.... 임의의 프로그램 개발에 보탬이 되는 API들을 MS에서 MS OS에 만들거나 했을때는, .... 친절한 MS에서는 경쟁사나 개발자들을 배려하여(?) 머리 아플까봐, 공개하지 않는 경우가 매우 많습니다.
*특히, 이 경우에(showdns, flushdns) 필요한 DnsFlushResolverCacheEntry_A 등의 함수들은 Windns.h에는 안나오는데!....이는, 개발자가 API 많이 알려고 하면, 머리 아플까봐, 비공개로 undocumented로 그냥 ....합니다.(MS는 이런식의 친절을 자주 베풀어 줍니다.) 리눅스는 API뿐 아니라, 심지어 소스까지 공개해서 사람 머리 아프게 하니까.....이런 문제로 고민하지 말라는 빌의 의도에 감사하는게 좋습니다.

* 참고로, reactos.org 에서 ipconfig를 구현하고자 하지만, 아직은 질문자가 원하는 부분에 대해서는 구현하지 못했습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.