본문 바로가기

Basic Theory

웜홀 공격(Worm hole)이란? 메시지가 공격자가 포획한 노드를 지나가게 되면 공격자는 이 메시지를 도청, 위조 또는 삭제함으로써 중요한 메시지의 내용을 가져가거나 메시지를 제대로 전달하지 못하게 하여 네트워크에 심각한 피해를 줄 수 있다. 출처 : 무선 센서 네트워크에서 웜홀 공격 방어기법의 에너지 효율향상을 위한 TTL 결정 기법 더보기
위치 독립 코드(position independent code)란? 임의의 주소에 로드 가능한 코드. 데이터 액세스나 점프는 상대 주소로 수행한다. [출처] 재철꾸러기의 초심으로 대동단결[상세 내용] 위키백과 [관련 자료] 1. Binary Hacks - 공유라이브러리에 PIC 를 사용하는 이유 2. Position Independent Code 더보기
Twitter RSS Feed 문제 해결 여러 분야의 블로그 글을 인터넷 뿐만 아니라 스마트폰에서도 보는 편이라면 RSS Feed 를 이용하는 분들이 많을 것이다. Twitter 에서 좋은 정보를 올리는 분들의 글을 실시간으로 확인을 못하거나 Twitter 를 사용하지 않는 경우라도 RSS Feed 를 통해 Twitter 의 정보를 받아 볼 수 있었다. 그런데 얼마전 부터 RSS Feed 가 정상적으로 이루어 지지 않는 것이 발견되었다. 기존의 RSS Feed 주소의 형식은 아래와 같았다. (twitterapi => 사용자계정명)http://twitter.com/statuses/user_timeline/twitterapi.rss 하지만 아래 그림과 같이 웹 페이지를 찾을 수 없다는 오류가 발생한다. 그래서 RSS Feed 가 정상적으로 이루어지.. 더보기
디렉토리 스트림(directory stream)이란? 디렉토리 함수들은 dirent.h 헤더 파일에 선언되어 있다.이들은 디렉토리 조작의 기반 수단으로 쓰이는 DIR 구조체를 사용한다. 이 구조체에 대한 포인터(DIR *)를 흔히 디렉토리 스트림(directory stream)이라고 부르는데, 이 디렉토리 스트림은 정규 파일 조작을 위한 파일 스트림(FILE *)과 상당히 비슷한 방식으로 쓰인다. 디렉토리에 담긴 개별 항목에 해당하는 구조체는 dirent로, 역시 dirent.h에 선언되어 있다. 디렉토리 항목을 위한 구조체가 따로 존재하는 이유는, 프로그램에서 DIR 구조체의 필드들을 직접 변경할 수가 없기 때문이다. 출처 : Beginning Linux Programming 4th edition 더보기
심벌릭 링크(Symbolic/Soft Link)란? 현재 리눅스/유닉스(Linux/Unix) 를 다루어 본 적이 있는 분들이라면 알고 있을 내용이지만 '심벌릭링크(Symbolic Link)가 뭔가요? 먹는건가요?' 라고 고개를 갸우뚱 거릴수 있는 분들윈도우(Windows)를 사용하는 대부분의 일반 PC유저들은심벌릭 링크 = '바로가기' 라고 생각하면 쉬울 것이다. 여기서 산넘어 산으로 '바로가기'라는 단어를 모르는 분들이 있을 수 있다. 그 분들을 위해 '바로가기' 에 대해 간단한 설명을 해보자.바탕화면에 임의의 아이콘(아이콘명이 Jack2 라고 하자)을 선택한 뒤 마우스 오른쪽 버튼을 클릭하면 '바로가기 만들기(S)' 이런 메뉴를 볼 수 있다. 이 메뉴를 선택하면 'Jack2의 바로가기'라는 단축아이콘이 생성된다. 이 단축아이콘이 바로 '바로가기' 파일.. 더보기
컴퓨터 리소스(Resource)란? 일반적으로 리소스(Resource)란, 사용될 수 있는 어떤 항목을 말한다. 프린터나 디스크 드라이브와 같은 장치들이 리소스가 될 수 있으며, 메모리도 마찬가지이다. 마이크로소프트 윈도우나 매킨토시와 같은 많은 운영체제에서, 리소스라는 용어는 특히 프로그램들이 활용할 수 있는 데이터나 루틴들을 가리킨다. 이런 것들을 다른 말로는 시스템 리소스라고도 부른다. 커다란 시스템의 일부를 이루는 하드웨어, 소프트웨어, 또는 데이터의 한 구성요소를 말한다. 예를 들어, 네트웍 리소스는 네트웍 상에서 활용 가능한 서버나 프린터 등을 지칭한다. 소프트웨어 리소스에는 프로그램, 유틸리티, 또는 심지어 프로그램 내의 작은 구성요소를 지칭할 수 있다. 데이터 리소스는 액세스 할 수 있는 파일이나 데이터베이스 등이 포함된다... 더보기
DNS resolver resolver(리졸버)는 DNS를 이용하는 클라이언트(PC)를 말한다. 리졸버의 역할은?: 네임서버(Nameserver)로 원하는 호스트(Host)에 대한 쿼리(Query)를 보내고 네임서버로 받은 응답을 해석하고 정보를 요구한 클라이언트에 정보를 전달한다. => 인터넷 상의(외부) 도메인의 이름풀이를 제공하는 것이 주 목적이다. 리졸버의 설정은?: /etc/resolv.conf 파일에서 이루어진다.domain 지시자, search 지시자, nameserver 지시자, sortlist 지시자, 그리고 option 이라는 다섯 개의 지시자를 resolv.conf 파일에서 이용할 수 있다. 명심해야 할 중요한 사항: 내부 사용자는 DNS advertiser를 사용하여 이름풀이를 사용할 수 없고, 외부 사용.. 더보기
Race Condition(경쟁 상태란?) Race 라는 단어를 보자마자 '경쟁'이라는 의미가 떠오르지 않는다. 단어만 놓고보면 '달린다'라는 의미가 생각난다. 그런데 다르게 생각해 보면 마라톤이나 자동차 경주에서 Race 라는 용어를 사용한다. 그리고 Race를 통하여 1등을 향한 경쟁을 하고 결과에 대한 순위를 정하게 된다. 컴퓨터공학에서 사용(이야기)하는 Race Condition(경쟁 상태)란?=> 한정된 자원을 동시에 이용하려는 여러 프로세스가 동시에 접근을 시도하는 상태를 말한다. 동시에 접근할 때 자료의 일관성을 해치는 결과가 나타날 수 있다. 이를 방지하기 위해서는 프로세스 협력 기법이 필요하다.경쟁 상태는 때로 입력값 간에 충돌을 일으켰을 때 논리 회로에서도 발생할 수 있다. [출처] : 텀즈, 위키피디아[참조] : [NH-mai.. 더보기
[Linux] VM ware에 설치된 Fedora13 에 Telnet 으로 접속하기 Ubuntu 를 사용할 때 처럼 단순하게 해당 ip를 확인한 다음에 putty 로 접속을 시도해보았다. [jack2@localhost ~]$ ifconfig eth1 Link encap:Ethernet HWaddr 00:0C:29:86:79:50 inet addr:192.168.40.130 Bcast:192.168.40.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe86:7950/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:321 errors:0 dropped:0 overruns:0 frame:0 TX packets:272 errors:0 dropped:0 overruns.. 더보기
메모리(Memory)영역 - 스택영역(stack segment) 스택 영역(stack segment)은 아주 잠깐 사용하고 삭제할 데이터를 저장하는 공간이다. 잊어버리지 않게 금방 사용하고 버리는 '일회용품'이라고 기억하고 있으면 좋을 것 같다. 좀더 구체적으로 이야기하면 함수 호출과 관련된 정보들이 위치하게 되는 영역이다. 함수의 인자들, 리턴 어드레스, 그리고 함수 내에서 사용되는 지역 변수(매개변수)들이 바로 이 곳에 저장된다. 그리고 그 외에도 몇 가지 값들이 스택 영역에 저장되어 있는데, 대표적인 예가 쉘의 환경변수(environment) 값이다. 이러한 값들은 모두 버퍼 오버플로우 공격과 밀접한 관계를 가지고 있는 것들이기 때문에, 우리가 가장 큰 관심을 갖고 들여다 봐야 할 영역이다. 그리고 스택 세그먼트(SS) 레지스터는 스택 세그먼트의 주소를 포함한다.. 더보기