iPhone 쿠션

ETC/Whatever! 2010. 5. 26. 17:33


재미있네요.. 어지간히 유명하다 보니 이런 독특한 제품도..^^;

'ETC > Whatever!' 카테고리의 다른 글

The Expert (Short Comedy Sketch)  (0) 2014.04.05
cisco 안마기?!  (1) 2010.09.27
쉘노트 - shellnote  (0) 2010.09.27
You are being Monitored!  (0) 2010.06.29
Art : Wiltshire's CD Sea  (0) 2010.06.25

설정

트랙백

댓글

리눅스 메모리 구조에 관한 간략한 설명

IT/Security/System 2010. 5. 11. 17:51

======================================================================================================

리눅스에서는 바이너리 실행파일의 형식으로 ELF(Executable and Linking Format) 형식을 사용한다.
리눅스 커널에서 ELF형식의 바이너리가 메모리에 로드되는 방식은 binfmt_elf.c에 들어있다.
binfmt_elf.c 에 보면 메모리 구조는 대략적으로 아래의 그림과 같이 4가지의 영역으로 구분 된다.

우선 텍스트(Text) 영역은 프로그램의 어셈블리 코드가 저장된다.
텍스트 영역공유라이브러리와 기계어 코드가 저장 된다.
데이터(Data) 영역전역(Global) 데이터들이 저장된다.
힙(Heap) 영역동적 변수가 사용하는 영역으로
C 언어에서
malloc()과 같은 시스템 호출을 통해서 할당되는 메모리는 힙 영역에 할당된다. 스택 영역은 지역변수(local)가 사용하는
영역이다.

스택은 사용자 주소 공간의 최상위 부분에 위치하며, LIFO(Last In, First Out) 모델에 따라 동작한다.
함수가 호출될 때마다 지역 변수와 함수의 인자, 리턴어드레스 등을 위한 새로운 프레임이 스택에 생성되는데
CPU는 값을 집어넣는 push 연산과 값을 꺼내는 pop 연산을 통하여 스택을 제어한다. 

======================================================================================================

예전에 어떤 논문을 보고 잠시 기록해놨던 내용인데, 정확히 어떤 논문이었는지를 모르겠네요.. -_-;
암튼 깔끔하게 잘 정리되어 있어서 스크랩했던 부분입니다. 참고하시길 바라겠습니다.

'IT/Security > System' 카테고리의 다른 글

ASCII-Hex Table  (0) 2010.06.04
ARM 디컴파일러 출시!  (0) 2010.06.04
Ubuntu 10.04 Beta2 설치기  (0) 2010.04.22
/bin/sh 주소를 찾을 때  (0) 2010.03.17
gcc 2.96에서 buf와 buf2의 거리표  (0) 2010.03.14

설정

트랙백

댓글

대체 뭐가 다를까?

IT/Security/Anti Virus 2010. 5. 11. 17:35


예전 스크린 샷들을 뒤지다보니.. 이게 나왔네요.
집에 있는 데스크탑에서.. 2009년도 12월 23일 날짜에 검출된 내역인데,
역시 백신들은 nc를 많이 싫어하네요..ㅎㅎㅎ;

아무튼.. 조금 황당해서.. 찍어놓은 듯 싶습니다.
대소문자 차이...음...-_-)a

설정

트랙백

댓글

@Home Project / BOINC 를 아시나요?


@Home Project 라고 들어보신 적이 있으신가요?
혹은 BOINC 라고 들어보신 적이 있으신가요?

막대한 양의 작업을 보다 효율적으로 처리하기 위해 많은 PC가 그 작업(unit)을 나누어 갖고 각자 처리를 한 후, 메인 서버로 결과 값을 전송해서 작업을 수행해나가는 프로젝트를 총칭합니다. 즉, 인터넷 기반 분산 컴퓨팅을 뜻합니다.

사실 @Home Project 라고 불리는 지는 잘 모르겠습니다. 보통 이러한 프로젝트의 경우 대부분의 작업(unit) 들이 개인에 의해서 처리되는 경우가 많다보니, 대부분의 프로젝트 명들이 "~~~@Home" 형식으로 네이밍 되어 있습니다.
별도로 총칭하는 이름이 없는 듯해서, 이 포스팅에서는 @Home 프로젝트라고 칭했습니다..^^;

사실 이러한 서비스는 국내에서 Korea@Home 으로 시행 된 바가 있었습니다. 역시나 아직 한국은 이런 대규모 분산 처리 작업에 대해서는 일반인 들에게 알려진 바가 거의 없다보니 참여율이 매우 저조했지만 원로 멤버들의 노력과 홍보로 그래도 누적 Agent PC 10만대를 뛰어넘는 참여율을 보이는데 성공했습니다. 본인도 간간히 참여해서 감사 상품까지 받았었지요..ㅎㅎ

이번 년도(2010)부터 Korea@Home은 Korea SETI로 새롭게 거듭난다고 하니, 기대해볼 점입니다. :)

본론으로 돌아와서,

한국에서는 이러한 프로젝트를 다루는 전문적인 팀들이 있는데, 아마 Korea@Home에서만 활동하는 듯한 파코즈 팀(다들 잘 아시겠지만 하드웨어 전문 사이트 명입니다.)과 SETIKAH 라는 팀이 있는데 (나머지 팀들도 많긴 한데 너무 소규모의 팀들이라 생략합니다.) 개인적으로 SETIKAH 팀이 따로 네이버 카페를 운영하여 여러 종류의 분산 컴퓨팅 프로젝트에 적극적이게 참여하는 모습을 보이는 것을 보니, 실질적으로 가장 활성화 된 팀은 SETIKAH팀이라 할 수 있겠습니다.

http://cafe.naver.com/setikah.cafe - SETIKAH 팀의 카페. 분산 컴퓨팅 프로젝트에 대한 많은 정보를 얻을 수 있다.

이러한 종류의 프로젝트는 생각 외로 많이 있습니다. 

SETI@Home, Docking@Home, Folding@Home, MilkyWay@Home.. 등 20가지는 넘게 있습니다. -_-;
여기서 프로젝트에 대한 설명은 생략하겠습니다. 위에서 언급했던 SETIKAH 카페나 밑의 한국 BOINC 공식 홈페이지에 가보시면 많이 소개되어 있습니다.

http://kr.boincstats.com/ - 한국 BOINC 공식 홈페이지. 역시 많은 정보를 얻을 수 있다.

참여하는 방법은 간단합니다. 위 카페에 방문하시거나 위의 한국 공식 홈페이지에서 BOINC Manager을 받고 프로젝트에 연결시켜주면 되는데, 이는 아래의 링크에서 확인해보시길 바랍니다.

http://cafe.naver.com/setikah/30 - BOINC의 모든 프로젝트 가입설치 / 팀 등록 가이드(가입 필요 없음)

위의 절차들을 밟으셨다면, 그냥 작업을 실행해 놓으시고 켜놓으시면 됩니다. 그럼 알아서 CPU로 연산 작업을 수행하다가 작업이 완료되면 메인 서버로 전송합니다. 프로젝트마다 수행 시간이 짧은 것도 있고 긴 것도 있습니다. 알아서 잘 찾아보시길 바랍니다. -_-; 아마 위 사이트들에서 정보를 얻을 수 있지 않을까 생각해봅니다.

본인의 경우는 노트북을 켜놓는 시간이 많아 거의 24시간 돌리고 있습니다. 뭔가 쓸데 없이 켜놓는 것 보다 켜놓을 바에는 지구에 도움이 될 일을 같이 하는게 어떤가 싶어서 시작했던게 Korea@Home 이었는데, 이제는 BOINC 매니저로 WCG 프로젝트에 SETIKAH 팀원으로 작업을 수행하고 있습니다.

아까 언급한 위 사이트들에서 워낙 설명이 잘 되어 있어서 별도의 부가적인 설명은 필요가 없을 듯 합니다. 이 카테고리(분산컴퓨팅@BOINC) 에는 주기적으로 활동 상황과 BOINC Manager에 대한 설명, FAQ 들이 올라 올 예정입니다.

아무튼, 국내에 좀 더 많은 유저가 분산 컴퓨팅 작업에 관심을 기울이고 참여하기를 기원하는 바입니다...^^;

설정

트랙백

댓글

Software Wars

IT/Programming 2010. 5. 1. 11:03


이전 블로그에도 게시를 했던 내용인데, 나름 맞는 부분도 있고 이제는 조금 다른 부분이 있기도 한데..
어쨌던 표현이 재밌네요..ㅎㅎㅎ

설정

트랙백

댓글

KISA 제 7회 해킹방어대회 개최

IT/Security/Event 2010. 4. 26. 18:57

한국인터넷진흥원에서는 해킹사고에 대한 대응능력 향상을 위해
다음과 같이 「제7회 해킹방어대회」를 개최합니다.

참가대상 및 방법

  • 참가대상 : 정보보호에 관심있는 자로 4인 이하의 팀을 구성하여 신청
  • 참가신청기간 : 4월 26일(월) ~ 5월 12일(수) 오후 6시까지
  • 참가신청방법 : 접수기간 동안 홈페이지를 통해 신청(http://hdcon.kisa.or.kr)
  • 기타 문의처 : hdcon@kisa.or.kr

대회 내용

  • 개요
    - 주최 : 방송통신위원회
    - 주관 : 한국인터넷진흥원
  • 예선 대회
    - 5. 14(금) ~ 15(토), 온라인에서 단계별 문제풀이 방식으로 진행하여 본선 진출팀 선정
  • 본선 대회
    - 6. 10(목), 잠실 롯데호텔 3층
    - 각 문제의 난이도별로 배점하고 획득한 점수의 합이 가장 높은 팀 순으로 순위 결정
  • 참여 행사
    - 일반인들을 대상으로 본선대회 시 현장에서 신청/참여하는 Open CTF 대회 동시 진행

시상 내용

  • 최우수상(방송통신위원장상) : 상금 1,000만원 및 상장(1팀)
  • 우수상(한국인터넷진흥원장상) : 상금 400만원 및 상장(2팀)
  • 장려상(한국인터넷진흥원장상) : 상금 200만원 및 상장(2팀)


참여하실 분들은 참여하시길..

설정

트랙백

댓글

Ubuntu 10.04 Beta2 설치기

IT/Security/System 2010. 4. 22. 21:30

설치 환경 : VMWare7.0

디자인이 뭔가 몽환(?) 스러워졌다. 점점 Ubuntu가 Mac OS화 되어간다는 느낌입니다.

아래는 설치 화면입니다.


좀 더 깔끔해지기 보다는 디자인 구성이 설치 화면 부터 많이 바뀌었습니다.
이제는 깔끔함도 한계에 부딪혔는지, 눈에 확 들어오는 구성이 디자인 경쟁의 주력이 될 듯 싶네요.




아래는 로그인 화면입니다. 간단간단...


점점 정말 Mac OS 와 비슷해져갑니다. Windows 와의 경쟁 구도 가운데에 리눅스가 엄청나게 성장한 것이 느껴집니다.
조금만 더 보완한다면 GUI 모델링에서도 뒤쳐지지 않을 엄청난 저력을 발휘할 듯 싶습니다.


심심해서 바꿔본 기본 바탕화면 세팅입니다. 시원시원한 이미지들이 꽤 많이 있습니다.

보통 터미널에서만 작업하느라 GUI 모드는 거의 접하지 않는 편인데, 네트워크 세팅하면서 GUI를 사용하니 훨씬 편하더군요. GUI도 중요 기능들을 알아놓으면 굉장히 쓸만한 toolkit 인 것 같습니다.

Beta2 라고 하니.. 정식 버젼은 어떨까요. 갈수록 기대되는 우분투 배포판입니다.

'IT/Security > System' 카테고리의 다른 글

ARM 디컴파일러 출시!  (0) 2010.06.04
리눅스 메모리 구조에 관한 간략한 설명  (0) 2010.05.11
/bin/sh 주소를 찾을 때  (0) 2010.03.17
gcc 2.96에서 buf와 buf2의 거리표  (0) 2010.03.14
bfd.h 가 없을 경우  (0) 2010.03.14

설정

트랙백

댓글

블로그 이전 완료

My Life/Notice 2010. 4. 11. 00:31

블로그 이전 완료하였습니다. 이전 블로그에서 작업했던 (그래봤자 매우 적지만) 모든 내용들을 끌어올려고 했으나
매우 바쁜 탓과 본인의 귀찮음 병이 도져서 그냥 여기서 다시 시작하려 합니다.

사실 개인 홈페이지를 구축해서 돌릴 계획이었지만, 간단한 블로그부터 먼저 시작해보는 것도 나쁘지 않아 먼저 시작해봅니다. 따로 XML 백업도 가능하다고 하니, 나중에 따로 parsing machine을 만들어서 개인 홈페이지로 이전해보는 것도 나쁘지 않겠네요. -_-;

어쨌던 오늘을 기점으로 주기적으로 포스팅 할 게획입니다.

차근차근...^^;

아무튼 오늘 밤, 이 포스팅을 쓰며 다시 한 번 모든 것에 대해 기약해봅니다.

'My Life > Notice' 카테고리의 다른 글

블로그 스킨 변경  (0) 2014.05.12
4만 히트를 자축하며  (0) 2013.08.01

설정

트랙백

댓글

(NAT)외부에서 VMWARE Guest OS 에 접속하기

IT/Programming/Solution/Tip 2010. 3. 24. 19:15

같은 네트워크 망에 있는 다른 Host 컴퓨터가 자신의 VM머신의 OS에 접근 하려고 해도
Bridge로 설정하지 않는 이상 Host 컴퓨터가 다시 뿌려주는 사내 ip를 VM머신이 받아서
쓰기 때문에 포트포워딩을 따로 해줘야합니다.

우선, VM머신의 OS가 리눅스인 상황을 전제로하고 포스팅을 하겠습니다.
(Windows 경우에도 VM머신에 설치된 OS에 할당된 ip만 알면 되므로 커맨드 창(cmd)에서 ipconfig 명령어를 이용해 진행할 수 있습니다.)

[1] VM머신에 설치된 OS의 IP를 알아냅니다.

제 VM머신에 설치된 리눅스의 IP는 192.168.81.111 이네요.

[2] Host의 IP를 체크합니다.

Host OS에서 시작 - 실행 - cmd 를 실행시켜 ipconfig를 타이핑합니다.
전 지금 무선 네트워크 망에 접속되어 있는 상황입니다. (로컬 영역도 돌아가고 있네요.)
로컬 영역과 무선 네트워크 망 중 하나를 선택하여 IP Address 를 선택하시면 됩니다.
우선 전 무선 네트워크 망에서 할당해 준 IP를 선택하겠습니다.

보통 VMware 등을 설치하게 되면 가상 네트워크 어뎁터가 여러개 잡혀있습니다. 그래서 바로 ipconfig 만 치면 화면이 밑으로 많이 내려가게 되는데, 파이프 (Shift + \)  + more 명령어를 입력하여 상위 목록을 확인하면서 천천히 내려주시면 됩니다.
..(more에 관한 건 그다지 중요한 설명이 아닙니다.)

[3] 편집(Edit) - 가상 네트워크 편집기(Virtual Network Editor) 을 열어 VMnet8을 선택합니다.

여기서 Subnet IP와 Subnet mask 는 설명하지 않겠습니다. 보통 IP 대역이 192.168.x.y 라면 Subnet IP 는 192.168.x.0 입니다.
이에 관한 정보는 Subnet에 대해서 검색하셔서 공부하시길 바랍니다. -_-;

[4] NAT Settings 를 클릭합니다.

6.x 버전 VMware에서는 따로 Port Forwading 이라는 메뉴를 통해 접근했었는데, VMware 7.x 부터는 이런식으로 포트 포워딩을 세팅할 수 있습니다. 보이다시피 저는 이미 HostOS의 TCP/9999 포트를 통해서 VM머신의 리눅스의 SSH 서비스를 제공하고 있습니다. 

[5] "Add" 를 클릭하고 정보를 입력합니다.
VMware에 설치된 OS에 외부접속을 허용하려면 우선 Host OS 를 거쳐야합니다.
Host OS에서 열린 특정 Port를 통해서 VMware OS의 특정 Port에 접근하여 연결하는 방식입니다.
한 번 예로 VM머신의 OS의 웹서버를 제공하는 정보를 써보았습니다.

Host port : Host OS에서 열어 줄 포트 번호를 선택합니다.
(주의 : Host OS에서 사용하고 있는 포트 번호와 겹치게 되면 충돌이 일어나 서비스가 제대로 실행되지 않을 수 있습니다. 포트 1~1024 대역은 보통 System이 사용하는 대역이니 1024~65535 대역 중 하나의 번호를 골라 선택하시길 바랍니다.) 

Type :
TCP/UDP를 결정합니다. 특별한 경우가 아니면 TCP를 선택하시면 됩니다.

Virtual machine IP address :
[1] 번 항목에서 알아보았던 VM머신에 설치된 OS의 IP를 적습니다.

Virtual machine port :
VM머신에 설치된 OS에서 열어줄 서비스의 포트를 적습니다.
(보통 기본 값으로는, SSH서비스는 22번, Telnet서비스는 23번, Apache 등의 웹 서비스는 80번 포트를 사용합니다. 이것은 VM머신의 OS에서 따로 작업하여 포트 번호를 임의로 바꿀 수 있습니다.)

Description : 설명 란입니다. 그냥 단순히 서비스 명을 적어주심이..^^;


[6] 모든 세팅이 완료되었습니다. VM머신의 설정 창을 모두 OK 해주시고 PuTTY 등의 원격 접속 클라이언트를 사용하여 접근해 보시길 바랍니다.


PuTTY 말고도 XShell, SecureCRT 등 많은 접속 클라이언트가 있습니다. 저는 제가 이전에 설정해 놓은 SSH 서비스를 Host IP를 통해서 접근해보도록 하겠습니다. 당연히 접속할 곳은 Host IP, Host port 가 되야겠죠?

SSH 서비스를 제공하시는 분들은 SSH 서비스로, Telnet 서비스를 제공하시는 분들은 Telnet으로, 별도의 다른 서비스를 제공하실 생각이신 분들은 해당 서비스에 맞는 특수한 접속 클라이언트를 사용하시거나 Telnet 방식으로 연결하시면 접속할 수 있습니다.
 
웹 서비스를 하시는 분들은 웹 브라우저에
http://localhost:Port/  방식이나, http://HostIP:HostPort/ 방식으로 접근이 가능합니다.

TIP)
* localhost 란 자기 자신을 뜻합니다. Host OS에서 작업하기 때문에, Host IP는 자기 자신이 되겠지요. 그래서 localhost를 쓸 수 있습니다. 위의 PuTTY 등의 클라이언트에서도 localhost 문자를 Host 자신의 IP로 인식하는 클라이언트는 마찬가지로 localhost를 입력함으로써 이용할 수 있습니다. *


[7] Host OS를 통해서 VM머신의 OS의 서비스에 성공적으로 접근했음을 알 수 있습니다.



차후 이에 관한 FAQ도 따로 포스팅 하겠습니다.
좋은 하루 되시길..(__)

설정

트랙백

댓글

(레드햇9)Redhat9 에서 vmware로 인터넷이 안될 때

IT/Programming/Solution/Tip 2010. 3. 19. 20:29

(이 포스팅은 인터넷이 당연히 연결되어 있어서 논리적으로 인터넷이 되어야할 상황에 인터넷 이용이 불가한 상황에 대하여 솔루션을 제공합니다.)

vmware에서 redhat9를 설치, 운용할 때 Redhat의 네트워크 드라이브가 제대로 작동하지 않는 버그가 있다.

이를 해결하기 위해서는 /etc/sysconfig/network-scripts/ifcfg-eth0 파일을 에디터 등으로 열어 
 check_link_down() { return 1; }

를 마지막 라인에 기입해주고 재부팅을 하면 된다.

설정

트랙백

댓글