출처 : http://blog.paran.com/joonany/4659774



다이얼로그창에서 'Event' 클릭시 'cannot add new member'라는 문구가 뜨면서 이벤트 창이 뜨지 않을때는


프로젝트를 종료 후 같은 폴더에 있는 .clw 파일을 삭제한다.


프로젝트를 재실행하고 'ClassWizard'를 클릭하면 clw 파일이 없다면서 다시 지정하라는 창이 나타난다.


이때 프로젝트명.clw를 만들어주고, 모든 파일들을 Add All한다.


컴파일 후 프로젝트 종료를 하고, 재실행하면 된다.

AND

AND

출처: http://communities.vmware.com/message/933916;jsessionid=7E6B917795659832BE8AC13982EC5503


Thanks to Travis (VMWare) engineer, I can clarify this question.

Thinstall creates various Environment Variables. Now, for those of you who are heavy programmers, the term "environment variables" may suggest something that is specific to the application or programming environment, not the environment of the actual computer. Thus, you may overlook the true power of these variables. Environment Variables are those variables registered in the system and can be viewed in XP by going to My Computer, right mouse click, choose Properties, go to Advanced tab and press the button at the bottom called Environment Variables.

When a thinstalled application runs, it automatically creates an environment variable called "TS_ORIGIN".

To retrieve this variable setting in VB.NET you should use the following code:

Dim myText, InstallLocation As String

Dim LastSlash As Integer

Dim SourcePath As String = Environment.GetEnvironmentVariable("TS_Origin") 'retrieves the folder path and executable name

LastSlash = InStrRev(SourcePath, "\") 'gets the location of the last slash

InstallLocation = VisualBasic.Left(SourcePath, LastSlash) 'retrieves the folder path (if you just wanted the exe name, then change it to from Left to Right)

For those out there that want to capture other settings that Thinstall does not expose, then write a VbScript (vbs) and save it to the root of the thinstalled prep folder. Thinstall will automatically run all vbs when the application is started. The following is an example of a vbscript to set a "user" environment variable.

Dim objWSH
Dim objUserVariables
Dim Origin
Dim LastSlash
Dim SourcePath

'retrieve the current location
Origin = GetEnvironmentVariable("TS_ORIGIN")

'clean up the source location
LastSlash = InStrRev(Origin, "\")
SourcePath = Left(Origin, LastSlash)

'retrieve the user variables
Set objWSH = CreateObject("WScript.Shell")
Set objUserVariables = objWSH.Environment("USER")

'set the local variable to be retrieved by the .NET application
objUserVariables("Application.StartupPath") = SourcePath
msgbox SourcePath

Hope this helps somebody else in the future!

-Eric

AND

출처: http://demun.tistory.com/147

VMware ThinApp 이용 Portable 포터블만들기

demun 대문블로그입니다.
Thinapp로 무설치를 만드는 방법을 간단히 말하면

1. Thinapp로 설치전 검사를 한다.
2. 만들고자하는 프로그램을 설치한다.
3. Thinapp로 설치후 검사한다.
4. 약간의 수정을 하고 완료한다.



무설치를 만드는 프로그램은 몇가지 되는걸로 알고 있습니다.
그중에서 틴스톨이 가장 만들기 쉽고 편한것 같습니다.
더군다나 한글로 이용하면 어느 누구나 무설치 프로그램을 만들수 있습니다.

틴스톨을 이용하여 무설치 프로그램을 만들어보겠습니다.
이용하는 프로그램은 VMware ThinApp v4.0.1-2866 한글입니다.
무설치로 만들 대상은  제일 속도가 빠르다고 소문을 떨치기 시작하는 Safari 입니다.
사파리 다운로드는 홈페이지 에서 다운받으세요.

이미지가 많으니 스크롤의 압박이 좀 있을겁니다.
이해해주시고 잘 읽어주세요^^
자 시작합니다.

우선 thinapp 를 실행합니다.
시작


설치전검사


검사하는 모습입니다.



설치전 검사 완료한 모습입니다.
여기서 잠시 멈추고 최소화버튼을 클릭하시고 무설치로 만들고자하는 프로그램을 실행합니다.
최소화.


 

safari의 설치 이미지입니다.

더보기





자 이제 다시 thinapp로 돌아와서 설치후 검사를 클릭.



여기서 같이 설치해야하는 프로그램이 있으면 같이 설치하고, 필요가 없으면 해제합니다.
전 업데이트하면 설치를 해야하므로 업데이트는 해제하고 사파리 실행파일만 체크하고 다음을 클릭합니다.


이미지대로 그냥 해도 됩니다.




전 항시 사용자가 원하는 대로 저장하기를 원하기 때문에 아래와같이 체크하고 다음.




오피스 프로그램과 같이 일반적인 컴퓨터와 파일을 같이 공유하며 저장해야 될때가 있습니다.
그런 프로그램을 대비해서 아래와같이 체크하고 다음을 클릭합니나.
그냥 간단히 사용하고 저장하지 않는 프로그램 같으면 writeCopy lsolation 모드로 사용해도 됩니다.
전 만일을 대비해서 될수 있으면 전부 아래와 같이 설정합니다.
여기서도 아래와같이 체크하고 다음.



원하는 곳에 원하는 이름으로 저장할 수 있습니다.
여기서는 기본값으로 두고 압축방법은 Fast로 체크하고 다음.



저장하는 모습.




파일들이 다 만들어졌습니다
프로젝트 탐색을 클릭합니다.


Package를 더블클릭합니다.
모든 설정은 여기서 다시 할수 있습니다.


노란부분을 보시면 SandboxPath=. 이라고 나와있습니다.
이건 포터블 프로그램과 같은 폴더에 나머지 파일들이 저장되고 생성된다는 말입니다.
일률적으로 폴더명을 정해주면 사용하는 사람이 알아보기 좋습니다.



그래서 아래와같이 설정합니다.
ThinApp로 만든거기 때문에 아래와같이 적습니다.
SandboxPath=ThinApp




참고사항.
사파리를 실행하면 아래와같이 폴더가 생깁니다.

더보기



저장. 예를 클릭.




이제 만들기 시작.




완료한 모습입니다.
마침.




저장폴더에 보면 bin 이라는 폴더가 새로 생긴걸 알 수 있습니다.
bin폴더에 포터블 프로그램이 만들어져 있습니다.




bin폴더를 열어보았습니다.
Satari 실행파일이 생겼습니다.
열어보았다고 하니까 허준드라마에서 허준이 ....내 스승님의 몸을 열어보았습니다.....라는게 생각나네^^




서비스화면.
제 컴에서 safari를 실행해 보았습니다.
문제없이 실행되는것을 볼 수 있습니다.
역시나 소녀시대가 절보고 미소짓고 있습니다.



자 이제 어느 누구나 포터블 프로그램을 만들수 있습니다.
긴글 읽어줘서 고맙습니다.
유용하다고 생각되면 추천한방 날려주이소~~.

AND

출처: http://blog.naver.com/PostView.nhn?blogId=sainthkh&logNo=140063257447

클래스 선언과 관련된 몇가지 알고나면 어이없는 오류들[1] C2236 ▶ Program Tips/ ★IT/Programming

2009/02/17 18:52

복사 http://blog.naver.com/sainthkh/140063257447

error C2236: unexpected 'class' 'B'. Did you forget a ';'?
error C2143: syntax error : missing ';' before ':'
error C2059: syntax error : ':'

이 오류가 뜰 때에는 대체로 이 세가지 정도가 같이 뜹니다.

이 문제는 class 선언 끝에 ;을 붙이지 않았기 때문에 생깁니다.

그런데 이게 조금 찾기 어려운 경우가 있습니다.


--------------------------------------------------------------------------------------------
<A.h>
#ifndef CLASS_A
#define CLASS_A

#include <stdio.h>

class A
{
private:
    int x;
public:
    void f() { printf("A::f()"); }
}

#endif // CLASS_A

<B.h>
#ifndef CLASS_B
#define CLASS_B

#include "A.h"

class B : public A
{
private:
    int a;
public:
    void g() { printf("B::g()"); }
};

#endif // CLASS_B

<main.cpp>
#include "A.h"
#include "B.h"

void main()
{
    A a;
    B b;

    a.f();
    b.g();
}
-------------------------------------------------------------------------------------------

단순한 클래스 A를 선언하고 또 단순한 클래스 B를 A에서 상속받습니다. 그리고 main()에서 A와 B를 사용해 봅니다.

그런데 이 프로그램의 문제는 A 클래스 끝에 ;이 없다는 것인데,

오류는 B클래스에 뜹니다. (실제로 Visual Studio에서 쳐 보면 B 클래스에 위에서 소개한 오류가 뜹니다.)

이렇게  #include를 통해 파일을 건너서 문제가 생기는 경우는 참 잡기 어렵습니다.

C2236이 생겼을 경우 어딘가 ;이 붙지 않았구나 생각하시고 잘 찾아보시기 바랍니다.

struct와 enum이 끝날 때에도 붙여야 하니 절대로 잊지 마시기 바랍니다.

(자바를 하다가 C++을 하게 되면 자주 잊게 되는 부분 중에 하나죠....)
AND

출처: http://cafe.naver.com/bit1004.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=566


MS에선 이미 VC6에 대한 지원을 중단한지 오래 되었습니다. 아예 지원목록에서 사라졌죠;;
아직 VC6을 사용하시는 분들이 많고 기존 코드들을 한번에 다 바꿀수 없으니 VC6과 최신 개발툴을 같이 병행해서 사용하시는 분들이 많을텐데요.
저같은 경우도 VC6과 2005를 같이 사용하고 있고 점점 2005로 프로젝트를 옮기고 있습니다.
2003은 어정쩡한 면이 많아 2005를 사용하는게 더 좋을 듯 합니다.

설명전에 VS의 버젼별 차이를 비교해보자.
http://moogi.new21.org/zb41/view.php?id=Freeboard&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=6237
위 글을 쓰신분 처럼 굳이 나열하지 않아도 제가 겪어 본 바로는 이미 닷넷쪽으로 넘어간 회사도 많아서 SDK를 받거나 분석하다 보면 2003 이후 컴파일러만을 지원하는 경우도 많더군요. 파나소닉 IP camera SDK가 그랬구요. 사용하다 보면 알툴즈도 그렇고 파일구리도도 업그레이드를 하셨더군요. 또한 얼마전 시범사업으로 영상 전송하는 부분을 MFC소켓으로 간단하게 만든적이 있었는데요. 비스타에서 소켓 섹션이 어느순간 끊겨버리는 황당한 일이 있었는데 문제를 찾아보기도 전에 그냥 2005로 컴파일하고 실행해 보았더니 아무 문제없이 돌아가더군요 ㅡ.ㅡ;
회사에서 사용안한다고 멀리하지 마시고 관심이라도 가져보시는게 좋을 듯 합니다.

자 본론으로 들어가서 먼저 Platform SDK와 DirectX SDK의 VC6 지원 마지막 버젼은 아래 링크에서 받으실 수 있구요.
Platform SDK : Windows Server 2003 PSDK (February 2003)
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
DirectX SDK : DirectX 9.0 SDK Update - (Summer 2004)
http://www.microsoft.com/downloads/details.aspx?FamilyID=fd044a42-9912-42a3-9a9e-d857199f888e&DisplayLang=en

그 상위 버젼을 사용할 시는 VC6이 친절하게 링크에러 등을 발생시킬 수 있으므로 굳이 최신버젼을 사용하실 분들은 아래 링크를 참조하세요.
링커 도구 오류 LNK1103 : http://msdn2.microsoft.com/ko-kr/library/abz4dchs(VS.80).aspx
개체 파일 손상 : http://msdn2.microsoft.com/ko-kr/library/es67b02f(VS.80).aspx

저같은 경우는 지원되는 버젼을 사용중인데요. 최신버젼을 그냥 사용하시는 분들은 링크에러가 나는 라이브러리를 다른 이름으로 변경하시거(uuid.lib -> uuid_was_a.lib) 나 충돌 문제가 없는 이전 라이브러리를 프로젝트 폴더에 그냥 복사해서 사용한다고 하시더군요.(에러가 나는 라이브러리 한해서 VC98\Lib 폴더에서 복사해서..) 에러는 사라진다고는 하는데 뭔가 많이 찝찝할꺼 같습니다.

VC6을 지원하는 구버젼의 SDK를 사용시 주의 할 점은 VC6에 해당하는 이전 SDK를 먼저 깔고 최신 버젼을 깔면 최신버젼이 구SDK를 지워버립니다.(DirectX는 상관없음) 혹시 모르니 February 2003 SDK폴더는 따로 복사해 두심이 유용할듯합니다.
아! Windows SDK는 안깔아봐서 이전 SDK를 삭제하는지는 잘모르겠네요^^;;
저 같은 경우 윈도우를 초기 세팅할시 VS6 -> VS2005 -> 최신 SDK들 -> VC6용 SDK 이런식으로 세팅을 하고 있습니다. 현재까지 문제점은 없더군요. 다만 이것도 최신SDK 설정이나 시스템에 복사된 내용들을 지워버리거나 덮어 씌워버릴수도 있기 때문에 살짝; 찝찝한면은 있습니다. 문제가 발생하면 방법을 바꿔야 겠지만 그전에 하나씩 업그레이드를 해버리는게 나중을 위해 더 편할것 같네요; 확실히 VS2005가 느리긴 하지만 훨씬 편해졌습니다.

팁! 인스톨이 모두 끝난후
시작->프로그램->Microsoft Platform SDK February 2003->Visual Studio Registration
->Register PSDK Directories with Visual Studio 실행하면
lib와 include가 vc6.0에 자동 설정이 됩니다.

VC++6.0과 최신PSDK(Devpia)
VC++ 6.0 과 SDK들... (PlatformSDK & DirectX SDK)
VC++ 6.0을 쓰지 말아야하는 이유
Microsoft Platform SDK.. (미친병아리님)

AND

출처: http://blog.naver.com/pokev25?Redirect=Log&logNo=80001993980


아래 Doxygen 등록하는 방법 처럼
GUIDGEN.exe 등록하면 된다.~~
//////////////////////////////////////////////////////

  • From the "Tools" menu select "Customize..." again.
  • Select the "Tools" tab and add a new item to the list called doxygen.
  • Set the options as follows:

    config.png

    The batch file after command does not need to exist. It will be generated by DoxBar. To avoid a warning from developer studio you could create an empty batch file with that name, but make sure it is writable. For a convenient output, do not forget to check the Use Ouptut Window checkbox.
    - 이그림대로 설정하면된다. bat파일은 자동으로 생성된다. 에러나와도 아니오 누르면된다.
  • Press "Close".
  • Select the "Tools" menu again and remember the number of the user tool called doxygen. For a freshly installed developer studio it should be 6 or 7:

    menu.png
  • AND

    출처: http://jjjryu.tistory.com/111

    다음 사이트에서 TortoiseCVS(CVS client)를 다운로드하고 설치한다.

    만약 다음과 같은 다운로드 설명이 있다면(PROJECTNAME이 'shellctrlslib'인 경우)
    cvs -d:pserver:anonymous@shellctrlslib.cvs.sourceforge.net:/cvsroot/shellctrlslib login
     
    cvs -z3 -d:pserver:anonymous@shellctrlslib.cvs.sourceforge.net:/cvsroot/shellctrlslib co -P modulename

    익스플로러에서 소스를 가져오기를 원하는 디렉토리의 콘텍스트 메뉴를 열고 [CVS Checkout...] 항목을 선택한다.
    참고로 cvs라는 이름의 디렉토리에서는 이 항목이 나타나지 않는다(이 것 땜에 잠시 헤맸슴).

    다음과 같이 입력하고 원하는 모듈을 선택하고 'OK' 버튼을 누른다.


     


    참조 사이트:
    AND

    출처: http://study.ibluerain.com/tag/nbstat

    ly from 203.10.5.10: bytes=32time<10ms TTL=128’이라고 나올 것이다.

    그럼 ‘Request timed out’이라고 나오면 어떤 원인들이 있을까? 그 원인을 알아보면 Cable Connection이 잘못되어 있거나, 상대방 Computer IP Address가 잘못되었거나, 상대방 Computer가 꺼져 있거나, 상대방 Computer가 Internet Connection이 안 되어 있는 경우이다.

    C:\Windows> ping 203.10.5.10
    Request timed out.                                                               => Computer가 응답이 없음
    Reply from 203.10.5.10: bytes=32 time<10ms TTL=128   => Computer가 응답이 있음

    Ping 명령의 TTL(Time To Live) 값은 어떤 OS를 사용하는지도 알 수가 있다. UNIX 계열은 255, Windows 계열은 128부터 TTL 값이 Router를 지날 때마다 1씩 감소하므로 TTL이 200번대이면 Unix이고, TTL이 100번대이면 Windows 계열이라고 생각하면 된다. <화면 1>을 보면 Yahoo는 TTL이 200번대로 UNIX 계열을 사용 중이고 msshop.co.kr Site는 TTL이 100번대로 Windows 계열을 사용하고 있다고 추측할 수 있다.

    UNIX 계열일 때

    Windows 계열일 때

    <화면 1> TTL을 통해 운영체제를 알 수 있는 사례

    <표 1> Ping 명령 Option 설명

    <표 1> Ping 명령 Option 설명

    Tracert (Trace Route)

    Internet은 접속하려는 상대편 Computer or Server와 직접적으로 연결되어 있지 않고 중간 중간에 Network 장비를 거쳐 접속이 된다. tracert(trace route)는 최종 목적지 Computer(Server)까지 중간에 거치는 여러 개의 Router에 대한 경로 및 응답속도를 표시해 준다.

    갑자기 특정 Site나 Server와 접속이 늦어진 경우에 tracert 명령으로 내부 Network가 느린지, 회선 구간이 느린지, Site Server에서 느린지를 확인해 볼 수 있다. 또한 전용회선 관리나 장애 복구시에도 많이 사용한다. <화면 2>를 보면 외부망의 특정 구간에서 속도가 늦다는 것을 알 수 있다.

    <화면 2> 외부망의 특정 구간에서 속도가 늦어지는 모습

    <화면 2> 외부망의 특정 구간에서 속도가 늦어지는 모습

    <표 2> tracert 명령 Option 설명

    <표 2> tracert 명령 Option 설명

    nbtstat (NetBIOS over TCP/IP state)

    회사 내에 많은 Computer가 있다 보면 IP Address 충돌 경고 Message가 발생한다. 보통 DHCP를 이용해 IP를 관리하는 곳에서는 잘 발생하지 않지만 고정으로 IP Address를 설정하는 Network 환경에서 하나의 IP Address를 두 대의 Computer에 입력하게 되면 충돌 Message가 발생을 하며 Network 통신이 안 된다.

    이럴 때 충돌되는 Computer를 찾을 때 유용한 명령이 nbtstat(NetBIOS over TCP/IP state) 명령어로 NetBIOS가 사용하는 통계 및 이름 정보를 표시한 다. IP Address 충돌 Message가 발생하면 Computer를 끄고 다른 Computer에서 nbtstat 명령으로 중복된 IP Address를 입력해 Computer Name을 확인한 후에 충돌되는 Computer의 IP Address를 바꿔주면 된다. <화면 3>은 충돌되는 IP 사용자 ‘SUMA-COM2’를 찾은 후 IP Address를 변경토록 하면 된다.

    <화면 3> 충돌되는 IP 사용자

    <화면 3> 충돌되는 IP 사용자

    <표 3> nbtstat 명령 옵션 설명

    <표 3> nbtstat 명령 Option 설명

    netstat

    Web으로 Program을 개발할 때 외부에서 통신이 안 되면 사용 Port를 확인할 때가 있다. 또한 내 Computer에 트로이 목마가 설치되어 정보를 빼낼 수가 있는지를 확인하는 유용한 명령이 ‘Netstat -an | more(Netstat - network stats)’로, 현재 Service를 대기하고 있는 ‘LISTENING’된 정보들과 TCP 통신을 하는 Service의 연결 상태를 Domain 정보 없이 보여준다. ESTABLISHED는 다른 Computer와 서로 연결된 상태이고, CLOSED는 연결이 완전히 종료된 것을 나타내며 TIME-WAIT은 연결은 종료되었지만 당분간 Socket을 열어놓은 상태이다

    <화면 4> netstat -an | more 명령

    <화면 4> netstat -an | more 명령

    <화면 5>와 같이 내 Computer의 사용 Port를 확인해 불필요한 Port를 사용하고 있다면 외부 Hacking이나 트로이 목마로 의심할 필요가 있다. Windows NetBIOS는 TCP Port 139를 통해 다양한 정보를 넘겨주는 API를 갖고 있는데, 보안에 취약해 인증되지 않은 사용자가 ID/Password 인증 없이 원격지 Server의 정보를 가져갈 수 있다.

    <화면 5> TCP 445번 Port로 접속한 상태

    <화면 5> TCP 445번 Port로 접속한 상태

    또한 Warm Virus, Cable 불량, Switch Hub Port 불량으로 인해 Data 송수신 속도가 늦거나 할 때 ‘Netstat -e 10’ 명령으로 10초의 주기로 Ethernet Interface의 Data 송수신을 계속 보여주게 함으로써 Warm Virus로 Traffic이 증가하는지 확인할 수가 있다.

    <화면 6> netstat -e 명령

    <화면 6> netstat -e 명령

    <표 4> netstat 명령 옵션 설명

    <표 4> netstat 명령 Option 설명

    route

    Firewall 장비나 Server 장비에 NIC Card를 여러개 설치할 경우에는 route 명령을 이용해 Packet이 전달되는 경로를 확인하거나 지정할 수 있다. 192.168.1.0 Network의 Traffic을 192.168.0.10으로 전달하고자 한다면 ‘route add’ 명령을 사용하며, ‘route print’ 명령으로 Routing Table을 확인한다.

    c:\> route add  192.168.1.0  mask 255.255.255.0  192.168.0.10
    c:\> route print

    (Usage : ROUTE [add | delete | print] [MASK netmask] [gateway] [METRIC metric])

    <표 5> route 명령 Option 설명

    ipconfig

    About Link

    TCP/IP Utility 및 Service
    Ping
    Command Line 참조 ㄱ-ㅎ
    Command Shell 개요

    현재의 TCP/IP Network 구성 값을 모두 표시하고 DHCP(Dynamic Host Configuration Protocol) 및 DNS(Domain Name System) 설정을 새로 고칩니다. 매개 변수 없이 사용할 경우 ipconfig는 모든 Adapter의 IPv6 Address나 IPv4 Address, Subnet Mask 및 Default Gateway를 표시합니다.

    구문

    ipconfig [/all] [/renew[Adapter]] [/release [Adapter]] [/flushdns] [/displaydns] [/registerdns] [/showclassidAdapter] [/setclassidAdapter [ClassID]]

    매개 변수

    /all

    모든 Adapter의 전체 TCP/IP 구성을 표시합니다. 이 매개 변수가 없으면 ipconfig는 각 Adapter의 IPv6 Address 또는 IPv4 Address, Subnet Mask 및 Default Gateway 값만 표시합니다. Adapter는 설치된 Network Adapter와 같은 실제 Interface나 전화 접속 연결과 같은 논리 Interface를 나타낼 수 있습니다.

    /renew [Adapter]

    Adapter를 지정하지 않으면 모든 Adapter의 DHCP 구성을 갱신하고 Adapter 매개 변수를 사용하면 특정 Adapter의 DHCP 구성을 갱신합니다. 이 매개 변수는 IP Address를 자동으로 얻기 위해 구성된 Adapter가 있는 Computer에서만 사용할 수 있습니다. Adapter 이름을 지정하려면 매개 변수 없이 ipconfig를 사용할 때 나타나는 Adapter 이름을 입력합니다.

    /release [Adapter]

    DHCP Server로 DHCPRELEASE Message를 보내 현재의 DHCP 구성을 해제하고 Adapter를 지정하지 않으면 모든 Adapter의 IP Address 구성을 제거하고 Adapter 매개 변수를 사용하면 특정 Adapter의 IP Address 구성을 제거합니다. 이 매개 변수는 IP Address를 자동으로 얻기 위해 구성된 Adapter의 TCP/IP를 사용할 수 없게 설정합니다. Adapter 이름을 지정하려면 매개 변수 없이 ipconfig를 사용할 때 나타나는 Adapter 이름을 입력합니다.

    /flushdns

    DNS Client 이름 확인자 Cache의 내용을 Flush 하고 다시 설정합니다. DNS 문제 해결 중에 이 절차를 사용하면 동적으로 추가된 다른 항목 뿐만 아니라 Cache에 보관된 부정 Cache 항목을 제거할 수 있습니다.

    /displaydns

    Locahost File에서 미리 Load 된 항목과 Computer에서 확인한 이름 Query에 대해 최근 얻은 Resource Record를 모두 포함하는 DNS Client 이름 확인자 Cache의 내용을 표시합니다. DNS Client Service는 이 정보를 사용하여 구성된 DNS Server를 Query 하기 전에 자주 Query 되는 이름을 빨리 확인합니다.

    /registerdns

    Computer에 구성된 DNS 이름 및 IP Address의 수동 동적 등록을 초기화합니다. 이 매개 변수를 사용하면 실패한 DNS 이름 등록 문제를 해결하거나 Client Computer를 다시 Booting하지 않고 Client와 DNS Server 간 동적 Update 문제를 해결할 수 있습니다. TCP/IP Protocol의 고급 속성에 있는 DNS 설정은 DNS에 등록된 이름을 결정합니다.

    /showclassid Adapter

    지정된 Adapter의 DHCP Class ID를 표시합니다. 모든 Adapter의 DHCP Class ID를 보려면 Adapter 대신 별표(*) Wild Card 문자를 사용합니다. 이 매개 변수는 IP Address를 자동으로 얻기 위해 구성된 Adapter가 있는 Computer에서만 사용할 수 있습니다.

    /setclassid Adapter [ClassID]

    지정된 Adapter의 DHCP Class ID를 구성합니다. 모든 Adapter의 DHCP Class ID를 설정하려면 Adapter 대신 별표(*) Wild Card 문자를 사용합니다. 이 매개 변수는 IP Address를 자동으로 얻기 위해 구성된 Adapter가 있는 Computer에서만 사용할 수 있습니다. DHCP Class ID를 지정하지 않으면 현재의 Class ID가 제거됩니다.

    /?

    Command Prompt에서 도움말을 표시합니다.

    설명

    ipconfig 명령은 winipcfg 명령에 해당하는 명령줄 명령으로 Windows Millinnium Edition, Windows 98 및 Windows 95에서 사용할 수 있습니다. Windows XP 및 Windows Server 2003 제품군에는 winipcfg 명령과 같은 Graphic 요소가 없지만 Network 연결을 사용하여 IP Address를 보고 갱신할 수 있습니다. 이렇게 하려면 Network 연결을 열고 Network 연결을 Mouse 오른쪽 단추로 Click 한 다음 상태, 지원 탭을 차례로 Click 합니다.

    • 이 명령은 IP Address를 자동으로 얻기 위해 구성된 Computer에서 매우 유용합니다. 이 명령으로 사용자는 DHCP, 개인 IP Address 자동 지정(APIPA) 또는 다른 구성으로 구성된 TCP/IP 구성 값을 결정할 수 있습니다.

    Adapter 이름에 공백이 있으면 Adapter 이름에 따옴표를 사용합니다(예: "Adapter Name").

    • Adapter 이름에 대해 ipconfig는 별표(*) Wild Card 문자 사용을 지원하므로 지정된 문자열로 시작하는 이름의 Adapter 또는 지정된 문자열이 포함된 이름의 Adapter를 지정할 수 있습니다. 예를 들어 Local*은 Local이라는 문자열로 시작하는 모든 Adapter와 일치하고 *Con*은 Con이라는 문자열이 포함된 모든 Adapter와 일치합니다.

    • 이 명령은 Internet Protocol (TCP/IP) 이 Network 연결의 Network Adapter 속성에서 구성 요소로 설치된 경우에만 사용할 수 있습니다.

    모든 Adapter의 기본 TCP/IP 구성을 표시하려면 다음과 같이 입력합니다.

    ipconfig

    모든 Adapter의 전체 TCP/IP 구성을 표시하려면 다음과 같이 입력합니다.

    ipconfig /all

    Local Area Connection Adapter만 DHCP 할당 IP Address 구성을 갱신하려면 다음과 같이 입력합니다.

    ipconfig /renew "Local Area Connection"

    DNS 이름 확인 문제를 해결할 때 DNS 이름 확인자 Cache를 Flush 하려면 다음과 같이 입력합니다.

    ipconfig /flushdns

    이름이 Local로 시작하는 모든 Adapter의 DHCP Class ID를 표시하려면 다음과 같이 입력합니다.

    ipconfig /showclassid Local*

    로컬 영역 연결 Adapter의 DHCP Class ID를 TEST로 설정하려면 다음과 같이 입력합니다.

    ipconfig /setclassid "Local Area Connection" TEST

    1. ipconfig 명령의 실행 방법

    시작 >> 실행 >> cmd 입력하면 명령 프롬프트가 나타납니다. [그림1,2]
    명령 프롬프트에서 ipconfig 명령을 입력합니다. [그림3]

    Command Prompt 

    <그림 1> Command Prompt

    Command Prompt 

    <그림 2> Command Prompt

    ipconfig 실행 

    <그림 3> ipconfig 실행

    2. System의 IPv6 Address 및 Default Gateway 확인

    IPv6 Stack이 설치된 상태에서 ipconfig 명령을 입력하면, 아래 그림처럼 System에 생성된 IPv6 Address가 표시됩니다. 아래의 예는, 초고속 Internet 환경이기 때문에 Native IPv6 Address 없이 ISATAP Turnelling IPv6 Address가 생성되어 있습니다. [그림4]

    ipconfig 명령 실행 결과 

    <그림 4> ipconfig 명령 실행 결과

    3. 모든 Network Interface에 대한 상세 정보 확인

    각 Network Interface에 대한 상세 정보를 확인하려면 ipconfig -all 명령을 이용합니다.
    ipconfig -all 명령을 이용하면 IPv6 DNS 정보를 추가로 확인할 수 있습니다. [그림5]

    ipconfig -all 명령 실행 결과 

    <그림 5> ipconfig -all 명령 실행 결과

    4. IPv6 DNS Cache 관련 정보 확인

    Windows에서는 DNS Query의 효율성을 위해 DNS Cache가 존재합니다. ipconfig -displaydns 명령을 이용하여 System에 Cache 된 IPv6 DNS 정보를 확인할 수 있습니다. [그림 6]

    ipconfig -displaydns 명령 실행 결과 

    <그림 6> ipconfig -displaydns 명령 실행 결과

    위 그림에서 보면 www.vsix.net에 대한 IPv6 DNS 정보중 AAAA Record는 2001:2b8:1::100이고 TTL이 76014임을 알 수 있습니다. 또한 album.vsix.net에 대한 IPv6 Record가 2001:2b8:1::110 임을 알 수 있습니다.

    5. IPv6 DNS Cache 정보의 삭제

    경우에 따라 Test 또는 개발 과정에서 기존의 IPv6 DNS Cache를 삭제해야 할 경우가 발생합니다. 혹은 DNS Server로 부터 새로운 DNS 정보를 받아오기 위해서는 DNS Cache를 삭제할 수 있습니다.

    ipconfig -flushdns 명령을 이용하여 IPv6 DNS Cache를 삭제할 수 있습니다.

     

    <그림7> ipconfig -flushdns 명령 및 ipconfig -displaydns 명령 수행 결과

    위 그림에서 보면 ipconfig -flushdns 명령을 통해 IPv6 DNS Cache가 삭제되었음을 알 수 있습니다.

    이상으로 ipconfig, ipconfig -all, ipconfig -displaydns, ipconfig -flushdns 명령의 이용 방법을 알아 보았습니다. 위 명령을 통해 System의 IPv6 Address 확인, DNS 정보 확인 및 삭제가 가능합니다.

    Nslookup 하위 명령

    자세한 내용을 보려면 해당 명령을 참조하십시오.

    Nslookup: exit
    Nslookup: finger
    Nslookup: help
    Nslookup: ls
    Nslookup: lserver
    Nslookup: root
    Nslookup: server
    Nslookup: set
    Nslookup: set all
    Nslookup: set class
    Nslookup: set d2
    Nslookup: set debug
    Nslookup: set defname
    Nslookup: set domain
    Nslookup: set ignore
    Nslookup: set port
    Nslookup: set querytype
    Nslookup: set recurse
    Nslookup: set retry
    Nslookup: set root
    Nslookup: set search
    Nslookup: set srchlist
    Nslookup: set timeout
    Nslookup: set type
    Nslookup: set vc
    Nslookup: view

    AND


    1. http://www.nirsoft.net/
       많은 유틸이 있음.
    AND