윈도우 어플리케이션이 실행 중 크래쉬가 발생하는 경우 덤프를 남기로 프로그래밍 할 수 있다.
이렇게 해서 남겨진 덤프파일을 분석하려면 WinDbg를 이용해서 분석할 수 있다.

WinDbg 명령어
1. !analyze -v
읽어들인 덤프파일을 분석한다. pdb 파일들을 로딩하고 스택정보 등을 출력해준다.

2. lm
현재 로딩된 심볼파일(pdb)의 현황을 보여준다.

3. .reload -f
심볼파일을 다시 읽어들인다.

윈도우 프로그래밍 중 ntdll.dll 등의 심볼 파일이 있는 경우가 있는데 이런 때에 다음을 사용하면 된다.

1. Microsoft® Symbol Server
http://msdl.microsoft.com/download/symbols

2. 심볼파일 설치
심볼파일 설치파일을 다운로드 받아 설치하여 사용하는 방법도 있다.
http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx



출처: http://bitna415.godohosting.com/link/index.php?item_no=8198122&httplink=http://taekgeun.tistory.com/84

Posted by hjlee
:

* OpenVPN 통한 VPN 구현
 - Linux - Windows


@ 시스템 구성
 
VPN클라이언트 끼리도 통신 또한 가능해야 만들어보자. (서버측 server.conf로 설정)
  - VPN
서버 : Centos 4.7 (Vmware 브릿지)
  - VPN
클라이언트 : Windows XP
  - VPN
네트워크 : 10.100.0.0 (10.100.0.1 ~ 10.100.0.255) (서버측 server.conf로 설정)
  - VPN
사용포트 : 1194/UDP (서버측 server.conf로 설정)

@ 서버 Centos 4.7에서 OpenVPN설치
@lzo
설치 ( 실시간 압축 전송 라이브러리)
#http://dag.wieers.com/packages/lzo/
에서 적당한 버전의 rpm 받거나,

#wget 을 사용해 아래처럼 다운받을수있다.

@devel 버전이랑 2개를 받는 이유는? 잘은 모르지만 서로간의 의존성때문이라고한다.

#wget http://dag.wieers.com/packages/lzo/lzo-1.08-4.2.el4.rf.i386.rpm

사용자 삽입 이미지


#wget http://dag.wieers.com/packages/lzo/lzo-devel-1.08-4.2.el4.rf.i386.rpm

사용자 삽입 이미지

#rpm -Uvh lzo.. 명령으로 rpm을 설치하자.

사용자 삽입 이미지

 

@openvpn 받아서 rpm 으로 만들어 rpm형식으로 설치하자.
 wget http://openvpn.net/release/openvpn-2.0.9.tar.gz

: 안된다면 DNS가 제대로 작동하는 지 확인하자.

사용자 삽입 이미지


@ rpmbuild -tb openvpn-2.0.9.tar.gz

- 압축파일을 rpm형식으로 만들어주는 명령이다.(lzo가 깔려있지않으면 실행되지않음)

- rpm으로 만들면 아래경로에 만들어진다. 경로를 적어주고 설치하자.

 

@rpm -Uvh  /usr/src/redhat/RPMS/i386/openvpn-2.0.9-1.i386.rpm

사용자 삽입 이미지


@Rpm으로 설치되는 파일 디렉토리들을 한번봐두자.

#rpm -ql openvpn 으로 확인해보자.  대충 중요한 디렉토리위치는 아래에 적어놨다.
  /etc/openvpn //openvpn 설정
  /etc/rc.d/init.d/openvpn //openvpn데몬 위치
  /usr/sbin/openvpn //관리자권한의 openvpn명령
  /usr/share/doc/openvpn-2.0.9/*
  /usr/share/man/man8/openvpn.8.gz
  /usr/share/openvpn
  /usr/share/openvpn/plugin/* //openvpn의 plugin이 있는 디렉토리


3.
인증서 생성 - 서버
 
인증서 생성은 필수이다.
 1) CA
생성 (상위 인증기관)
  먼저
 인증서를 관리하는 /usr/share/doc/openvpn-2.0.9/easy-rsa/ 디렉토리로 이동하자.
 @vars
파일은 인증서 생성시 넣어야할 정보를 미리넣어두어서 나중에 인증서생성시 간단하게 생성할수있게 참조시켜주는 파일이다.

vars파일을 열어 젤 아래쪽에 간단한 정보를 기입하자.

사용자 삽입 이미지

< /usr/share/doc/openvpn-2.0.9/easy-rsa/vars>


@mkdir /usr/share/doc/openvpn-2.0.9/easy-rsa/keys

: 인증키를 보관할수있는 keys디렉토리를 생성해주자.

사용자 삽입 이미지


   . ./vars
  : vars내용을 include한다는 명령
  ./clean-all
  :
기존에 생성 인증서가 있으면 모두 삭제
  @./build-ca
 - CA
인증서를 생성한다. 생성시 vars파일을 참조하기때문에 기본설정이 내가 설정된값이

되어있기 때문에 간단하게 넘어갈수있다.

 - 하지만 Common Name에서 server & hostnme 에서 반드시 server를 적어두자.

 - 실수로 Enter로 넘어갔다면 다시 ./build-ca를 실행하면 된다.
 -
이렇게하면 keys라는 폴더에 ca.key(개인키), ca.crt(공개인증서) 생성된것을 확인한다.
 -  ca.crt
파일은 모든 클라이언트에 배포. ca.key 서버만 가지고 있음.


사용자 삽입 이미지


 2) 서버키 생성 (서버에 사용될 인증서 개인키)
   ./build-key-server server

 -  위와 똑같이 넘어간다.

 - Sever설정이기때문에 Common Name에선 sever라고 넣어주자.

 - 나머지 설정은 중요하지 않기때문에 변경안하고 Enter로 넘어가고 Y/N이 나오면 Y만 누르면된다.

 - 설정이 끝나면 keys 디렉토리에 서버의 인증서(server.crt) 및 개인키(server.key) 등이 생긴것을 확인할수 있다.
 -
키들은 CA 의해 사인된 인증서이다.
  -
모두 서버에만 사용된다. 클라이언트용은 따로 만들어준다.

사용자 삽입 이미지


 3) 클라이언트키 생성 (클라이언트에 사용될 인증서)
   ./build-key client
- 서버설정과 동일하다 다만 Common Name 설정에 Client라고만 설정하자.

사용자 삽입 이미지


- keys 디렉토리에서 생성된 클라언트 인증서/키 확인하자.

- keys 디렉토리에 생성된 모든 인증서는 CA에서 검증받은것이니 신뢰할수있다.

사용자 삽입 이미지

 


 4) Diffie Hellman
파라메터 생성

:암호화에 필요하다.
  ./build-dh
  - keys
디렉토리에 dh1024.pem 파일이 생긴것을 확인할 있다.
  - dh1024.pem
서버에만 가지고 있는다.

@dh1024.pem 은 1024bit로 dh방식으로 암호화

사용자 삽입 이미지


@클라이언트용 파일을 Windows Xp에서 받을수있게 압축한뒤 /var/ftp/pub 안에 넣자.

@pub디렉토리는 ftp접속시 보여주는 기본 디렉토리이므로 윈도즈에서 ftp 주소를 넣었을때 바로 파일을 찾기위해서 하는것이다.

# mkdir -p /root/client-keys 후 /usr/share/doc/openvpn-2.0.9/easy-rsa/keys 디렉토리안의 ca.crt, client.crt, client.csr, client.key를 만들어준 /root/client-keys디렉토리에 복사하여 아래와같이 압축후 /var/ftp/pub안에 넣어주자.

사용자 삽입 이미지

 

@이제 설정이 끝났으니 openvpn데몬을 시작시켜 tun 이라는 vpn통신을 하기 위한 이더넷카드가 생성되는 지 확인해본다.

@ /etc/rc.d/init.d/openvpn restart 실행후

 ifconfig 명령을 실행 tun0 정보가 올라와 있나 확인해 본다.

@ 없다면 /dev/net/tun 이 있는지 확인하고 없으면 /dev/net 디렉토리에서 net/tun c 10 200이라고 써서 생성시켜준다.

그래도 tun카드가 올라오지 않을경우  /var/log/messages 목록을 보면 무엇때문에 동작이 안되었는지를 알수있다. 실시간으로 보기위해서 터미널창을 한개 더 열어서 #tail -f 옵션으로 메세지를 확인해보자.

@나는 여기까지 했지만 tun이 올라오지 않았다. 그러면 /etc/openvpn디렉토리에서 다시 설정을 해줬다. 그러면 우리가 설정 했던 디렉토리에서 파일들을 /etc/openvpn으로 복사를 해야한다.

#현재 Centos 4.7을 Vpn서버로만 사용할거기 때문에 server.* 무조건 복사하고 나머지 기본 인증서 / 키 들을 복사한다.

아래는 /etc/openvpn으로 복사할 파일들을 나열했다.
-  먼저 파일이 있는  /usr/share/doc/openvpn-2.0.9/ 들어가서 작업을 해주자.
- cp sample-config-flies/server.conf /etc/openvpn/
- cp easy-rsa/keys/server.* /etc/openvpn/
- cp easy-rsa/keys/dh1024.pem /etc/openvpn/  
- cp easy-rsa/keys/ca.* /etc/openvpn/


사용자 삽입 이미지

<복사후 /etc/openvpn>    


@ 그럼이제 서버설정파일을 수정해보자.(/etc/openvpn/server.conf)

사용자 삽입 이미지

<server.conf안의 내가 설정한 부분>

@ 주의할점 구문앞에 붙어있는 세미콜론(;)은 주석을 뜻하므로 사용하고자하는 설정 앞에 세미콜론이 있다면 제거한후 입맛에 맛게 다시 설정해주면된다.


   - vpn sever 네트워크 대역을 10.100.0.0 netmask 255.255.255.0으로 설정
   - client-to-client : vpn
클라이언트 끼리 통신 가능하게 해주게 한다.
   - duplicate-cn : client
인증서 하나로 여러대의 PC에서 사용할 있게한다.
   - max-clients 100 : 최대
연결수를 100으로 제한한다.
   - plugin .... : user/pass
인증을 받는다. (접속시 서버시스템안의 계정을 넣어야 접속가능)

:@주의 할점 plugin 띄워쓰기를 잘해주자~! 참고로 전 띄워쓰기때문에 오류가 났었다.

위와같이 설정후 다시 #service openvpn restart 를 해보자.

/etc/rc.d/init.d 안의 데몬과 /etc/services 같다. 그래서 난 간단하게 #service명령으로 다시 데몬프로세스를 동작시켰다.


그럼 아래와 같이 Vpn 장치가 올라오는 것을 ifconfig로 확인할수있다.

자 그럼 이제 서버설정은 끝났다.


사용자 삽입 이미지

<tun0:vpn용 가상카드>
 

@ 그럼이제 클라이언트 windows XP에 설치하기로 했었다. 그러기 위해선 서버시스템에서 생성한 클라이언트용 인증서 // 키 그리고 ca인증서가 필요하다. 그러므로 윈도우로 복사를 해줘야하는 파일들이다. 아래그림처럼 4개의 파일을 압축시키자.

사용자 삽입 이미지


@윈도우 브라우저에서 ftp centos 4.7을 열었을때 기본제공 디렉토리가 /var/ftp/pub이다. . 즉 브라우저에선 pub밖에 보이지 않는다. 그러므로 압축파일을 바로 찾을수있게 pub디렉토리에 복사를 해준다.

사용자 삽입 이미지

@아참! 그리고 중요한것은 ftp서버를 동작시키는 거다. ^^
# service vsftpd start 를 해주자.
그리고 만약 ftp사용계정이나 기타 설정을 하려면 /etc/vsftpd/vsftpd.conf파일을 수정하면된다.

@ Windows XP 클라이언트 세팅!

먼저 아래 사이트에서 openvpn 윈도우용 패키지를 다운받아서 설치하자
http://www.openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe

사용자 삽입 이미지

< openvpn install.exe 실행시 >


 

@ 서버측에 만들어 놓았던 압축파일을 다운받자.

사용자 삽입 이미지

@ 파일 받아서. 압축해제  시 -> 프로그램 -> OpenVPN -> Open VPN configuration file directory 누르면 폴더가열리는 데 이곳에다. 압축푼 4개파일을 넣어주자. *다른 압축파일등은 넣지말자. 그리고 이 디렉토리에 하나의 파일을 더 복사를 해줘야한다. 그파일은 아래 그림을 참조하자.

@그림을 과 같이 sample configuration files알의 Client.ovpn도 위의 디렉토리에 복사(중요)

: 접속할 서버의 정보를 세팅을 해줄수있는 파일이기때문

사용자 삽입 이미지
사용자 삽입 이미지



@복사를 하고 configuration file directory폴더를 확인 해서 아래와 같이 파일들이 존재해야한다.

사용자 삽입 이미지


@여기서 client.ovpn을 열어 원격접속할 서버의 주소와 포트를 넣어준다.

사용자 삽입 이미지


@이제 설정이 끝났다. 그럼이제 서버에서 작업한것과 마찬가지로 vpn 이더넷 카드 를 아래의 메뉴를 클릭하여 만들어주자.(제대로 동작되지 않으면 아래의 Delete ... 로 지운후 다시 ADD 해주면된다)

사용자 삽입 이미지


@위의 작업을 하셧다면 작업표시줄에 새로운 네트워크가 생긴다. 이것을 Connect 해주자.

사용자 삽입 이미지


@만약 생성하고도 작업표시줄에 뜨지 않았다면 Openvpn메뉴에서 GUI를 실행시키면 된다.

사용자 삽입 이미지


@Connect화면

: 서버시스템안에 생성된 계정중의 한개를 넣어주자 전 test/1234로 미리 설정해두었음.

사용자 삽입 이미지


@만약제대로 접속이 되었다면 기본설정으로 자동Ip를 받는다.

:현재 10.100.0.6 ip가 배당된것을 작업표시줄에서 실시간으로 확인가능하다.

사용자 삽입 이미지


@ 아니면 cmd창에서 ipconfig로도 확인가능하다.

사용자 삽입 이미지


@ 그럼이제 vpn끼리 통신이 되는지 또 어떻게 동작하는지를 알아보자.

: vpn서버주소로 ping으로 icmp프로토콜을 날려보자.

서로 그럼 vpn으로 통신이 연결된것을 확인할수 있게 된다.

사용자 삽입 이미지


@ Putty로 ssh 로도 접속을 해보자.(서버측에 sshd가 동작되고있어야함)

: 그럼 아래의 그림과 같이 동작은 잘되는 것을 확인할수있다.

사용자 삽입 이미지


@그럼이제 이것들이 통신할때 어떤 식으로 동작하길래 VPN이 신뢰성이 있는 지 Wire Shark(패킷 분석기)로 확인해보자.

@@@@@@ 아래 그림은 패킷분석기로 port 1194 를 스니핑한 그림이다. @@@@@

udp 라고 나오는 것은 서버측 /etc/openvpn/server.conf 안에 udp 와 포트 1194로 설정되어있기문에 설정된것으로만 보여지는 것이다. .

즉 Vpn으로 통신하고 있는 경우 어떤 통신을 하고있는지 조차 알수가 없다

SSh랑 다른점은 ssh은 그냥 원격접속시 암호화를 제공한다는 것이고 접속이 된 상태에선 암호화를 제공하지 않는다.

사용자 삽입 이미지

 <port 1194만 스니핑 한 패킷분석기 화면 >

Posted by hjlee
:
"프로모션 전략 조율 안돼"… 계획보다 3개월 늦춰

일부선 '제품개발 지연' 의문


올해 티맥스소프트의 최대 전략 제품인 PC용 국산 운영체제(OS) 공개 일정이 예정됐던 4월에서 7월로 3개월 연기됐다. 제품명은 `티맥스윈도'가 유력한 것으로 알려졌다.

티맥스소프트(대표 문진일)는 올해 티맥스데이를 7월로 연기한다고 밝혔다. 이 행사는 회사의 연중 최대 행사로, 특히 올해는 마이크로소프트(MS) 윈도에 대응한 국산 OS `티맥스윈도'가 첫선을 보일 예정이어서 주목을 받았다.

티맥스소프트는 제품 개발에 4년간 200여명 이상의 인력을 투입하는 등 연구개발 역량을 집중해 왔다. 윈도용 소프트웨어(SW)와의 호환성, 윈도보다 강화된 보안 등을 차별점으로 내세웠고 브라우저와 오피스 프로그램 등도 자체 개발해 탑재하겠다고 밝힌 바 있다. 그러나 공개를 한달 앞둔 최근까지 개발 상황에 대한 정보가 전혀 공개되지 않아 관심이 집중됐었다.

이번 제품 공개 연기에 대해 회사측은 프로모션 측면의 조율 때문이라고 설명했다. 기존의 티맥스소프트 제품이 주로 기업용 SW였던 반면 `티맥스윈도'는 일반 소비자 대상 제품이기 때문에 시장 전략 마련에 시간이 더 필요하다는 것이다.

아직 확정되지 않았지만 티맥스윈도의 초기 프로모션은 기존 윈도용 SW와의 호환성을 보여주는데 집중될 전망이다. 워드프로세서, 안티바이러스 등 국산 SW 제품과 오픈소스 SW와의 호환성을 집중 검증하고 있다. 온라인을 통한 홍보는 조만간 시작된다. 티맥스소프트는 현재 티맥스윈도 전용 웹사이트를 제작, 이르면 내달 오픈할 예정이다.

김대영 티맥스소프트 전략마케팅본부 팀장은 "처음부터 MS 윈도와의 경쟁 구도를 만들 수는 없겠지만 제품의 강점을 효과적으로 부각할 수 있는 포지셔닝에 대해 고민하고 있다"고 말했다.

그러나 일부에서는 일정 변경이 개발 지연에 따른 것이 아니냐는 의문을 제기하고 있다. 올 초까지만 해도 4월에 티맥스데이 개최하기로 하고 내용을 티맥스윈도 단일 행사로 할 것인지 아닌지에 대해 의견을 조율해왔다. 또 지난 4년간 정해진 일정대로 개발을 추진해왔다는 점에서 마지막 단계에서 프로모션을 이유로 일정을 변경한 것은 석연치 않다는 분석이다.

개발 과정에 대한 정보가 전혀 공개되지 않는 것도 논란이다. 티맥스윈도는 이미 공개된 윈32 API를 이용하고 1000여개에 이르는 라이브러리를 직접 개발하는 방식으로 윈도SW와의 호환성을 구현한다. 그러나 이 방대한 개발작업의 중간 과정에 대해 알려진 것이 거의 없고 내부적으로도 일부 스크린샷과 설치화면을 제외하면 정보가 거의 공유되지 않는 것으로 알려졌다.

김대영 팀장은 "사내 PC와 노트북을 대상으로 티맥스윈도 알파 테스트 계획을 마련하고 있다"며 "제품 공개가 늦어지는 만큼 7월에 공개하는 티맥스윈도 완성도는 더 높아질 것"이라고 말했다.


http://www.dt.co.kr/contents.html?article_no=2009031002010960744004&ref=naver
Posted by hjlee
:

Google
 
BLOG main image
http://hjoo.org by hjlee

공지사항

카테고리

분류 전체보기 (154)
연구실생활 (9)
여 행 (8)
영어공부 (4)
취미생활 (7)
논 문 (2)
My Stories (31)
기 사 (11)
Computer (15)
즐길거리 (15)
스크랩 (3)
Web Progmming (0)
유용한 정보 (21)
KISANTEL (5)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :