블로그 > [네트워크 대통령]개발자의 하루하루.. http://blog.naver.com/aimh/3388281 | ||||||
1절. 소개개인적으로 최근들어 SNMP에 관심을 가지게 되었다. (실은 상당히 오래되었지만) 그래서 앞으로 몇부? 에 걸쳐서 SNMP관련 강좌를 개설하고자 한다. 강좌는 SNMP개요및 설치운용에서 부터 시작해서 프로그래밍을 통해서 SNMP응용 애플리케이션을 제작하고, 확장 MIB(뒤에 설명한다)를 작성하는 것 까지를 다룰것이다. 이번글은 그중 첫번째 글로 SNMP개요와 설치및 운용에 대한 글이다. 설치및 운용은 실제 어떻게 작동되는지 눈으로 확인하는 차원의 수준에서 이루어질 것이며, 설치되는 snmp애플리케이션의 상세설치와 높은 수준에서의 운용에 대해서는 언급하지 않을것이다. 이러한 것들은 (필요할경우)해당 snmp애플리케이션의 메뉴얼을 참고해서 개인적으로 학습해야만 할것이다. 여기에서 얻은 지식은 나중에 SNMP애플리케이션을 제작하는 밑거름이 될것이다. 2절. SNMP개요2.1절. SNMP란 무엇인가SNMP는 Simple Network Management Protocol의 약자이다. 해석을 해보자면 간단한 네트워크관리를 위한 규약 인데, 말그대로 SNMP는 네트워크관리를 위한 용도로 사용되는 프로토콜이다. 가장 앞에 Simple라는 단어가 붙어있는데, 진짜로 간단한 프로토콜인지 아닌지는 사람에 따라 약간씩 차이가 있을수 있다. 필자가 보기엔 그리 복잡한 프로토콜은 아닌것 같은데, 어떤 사람들은 매우 복잡한 프로토콜 이라고 말하는 사람들도 있다. 그럼 먼저 SNMP가 나타난 배경에 대해서 알아보도록 하겠다. SNMP가 쓰이기 전에 일반적으로 사용되는 네트워크 관리는 ICMP에 의존했었다. ICMP는 Network계층의 프로토콜로써, 운영체제에 관계없이 사용할수 있는 간단한 프로토콜이였다. 이 프로토콜을 이용해서 우리는 네트워크로 연결된 각각의 호스트가 작동하고 있는지, 작동한다면 어느정도의 응답시간을 가지고 작동하는지 등의 간단한 정보를 얻을수 있었으며, 초기에는 이정도로도 필요한 네트워크 관리가 가능했었다. ICMP를 이용한 가장 유용한 도구는 아마도 ping 프로그램일 것이다. 그러나 인터넷의 사용이 보편화되고 네트워크에 연결된 호스트의 수가 증가하자 거기에 따라서 네트워크 구성역시 복잡해지고, ICMP만을 가지고는 이러한 네트워크의 관리를 효율적으로 할수 없게 되었다. 그래서 몇가지 프로토콜에 대한 연구가 진행되었고, SGMP, HIMS, CMIP/CMIS등이 제안되게 되었다. 이중에서 SGMP를 발전시킨 SNMP가 사실상 네트워크 관리를 위한 표준적인 프로토콜로 자리잡게 되었다. 다른 프로토콜들이 사용되지 않은데에는 몇가지 이유가 있었다. CMIP/CMIS는 너무 방대하고 너무 복잡했으며, HEMS의 경우에는 실제 적용사례가 적었기 때문이다. 어쨋든 SNMP는 거의 대부분의 운영체제에서 사용되어 지고 있다. 여러분이 사용하는 Linux, 그밖의 대부분의 유닉스와, 윈도우계열 운영체제는 기본적으로 SNMP프로토콜을 사용하는 도구들을 제공하고 있다. 그외에도 router등 TCP/IP를 네트워크 프로토콜로 사용되는 운영체제들 역시 SNMP는 필수적으로 제공하고 있다. 2.2절. SNMP로 할수 있는 것들SNMP를 이용해서 할수 있는 것들은 다음과 같다.
2.3절. SNMP를 통한 망의 구성SMTP는 인터넷상에서 메시지를 교환하기 위한 프로토콜로 사용되며, 주로 전자메일 교환을 위해서 사용되는 프로토콜이다. 그러나 SMTP는 어디까지나 프로토콜일 뿐이며, 실제 메시지를 인터넷상에서 주고 받기 위해서는 SMTP프로토콜을 사용하는 SMTP서버(Sendmail같은)와 SMTP클라이언트(mutt, pine같은)가 준비되어 있어야만 한다. SNMP역시 그자체로는 프로토콜일 뿐이며 SNMP프로토콜을 활용해서 실제 네트워크 관리 정보를 얻어오기 위해서는 응용 애플리케이션이 준비되어있어야만 한다. 보통의 네트워크프로토콜을 사용하는 애플리케이션이 서버/클라이언트 모델로 구성되듯이 SNMP역시 서버와 클라이언트로 구성된다. 일반적으로 SNMP망 에서는 서버/클라이언트라고 부르지 않고 snmp manager/snmp agent라고 부른다. snmp agent는 관리대상이 되는 시스템에 설치되어서 필요한 정보(네트워크 혹은 시스템)를 수집하기 위한 snmp 모듈(혹은 애플리케이션) 이며, snmp manager은 snmp agent가 설치된 시스템에 필요한 정보를 요청하는 snmp 모듈이다. snmp agent는 서버, snmp manager은 클라이언트로 생각하면 이해하기가 좀더 수월할 것이다(그러나 반드시 agent가 서버, manager이 클라이언트가 되는건 아니다. 그냥 개념적으로 이해만 하고 있도록 하자).2.4절. MIB에 대해서SNMP는 네트워크를 관리하기 위한 프로토콜이다. 그렇다면 무엇을 관리할 것인가(관리객체)를 결정해야 할것이다. 관리객체를 결정했다면, 이러한 관리객체를 효과적으로 관리하기 위해서 이를 분류해야 할것이다. 이게 바로 MIB이다. MIB는 Man In Black의 줄임말이 아니다. Management Information Base의 줄임말인데, 관리되어야할 자원 객체의 분류된 정보를 말한다. 관리되어야할 객체는 시스템정보, 네트워크사용량, 네트워크 인터페이스정보 등이 된다. 이 MIB객체들은 관리하기 편하도록 Tree구조를 가지게 된다. 다음은 MIB의 일반적인 구조이다. MIB는 위에서 처럼 계층적인(디렉토리) 구조를 가지게 된다(위의 그림은 MIB를 설명하기 위해 일부만을 표시하고 있다). 예를들어서 agent가 설치되어 있는 시스템으로 부터 시스템부가정보(sysDescr)를 얻어오길 원한다면 ISO.org.dod.internet.mgmt.mib-2.system.sysDescr과 같은 식으로 manger에서 데이타를 요청하면 된다.위의 MIB계층 구조를 보면 각 MIB옆에 숫자가 있는것을 볼수 있다. 이 숫자가 OID번호이다. 즉 sysDescr의 OID값은 1.3.6.1.1.2.1.1.1 이 될것이다. OID번호를 이용하는 이유는 MIB고유 문자열을 통해서 원하는 데이타를 가져오기위해서는 아무래도 요청이 길어질수가 있기 때문이다. MIB는 IANA(Internet Assigned Number Authority)라는 단체에서 관리하며 표준적으로 사용되고 있다. 그럼으로 표준적인 MIB구현을 위해서는 IANA에서 OID를 부여받아야만 한다. 그래야 전체네트워크상에서 다른 여러가지 MIB와 중복되지 않고 사용이 가능할것이다. 작은 정보: cisco과 같은 대중적인(거의 표준이나 마찬가지인) 제품들은 모두 자체적인 MIB를 구현해서 IANA에 등록하여 사용하고 있다. 여러분이 cisco 라우터등의 SNMP정보를 접근할수 있다면 cisco MIB가 등록되어 있음을 확인할수 있을것이다. 확인하는 방법은 다음 강좌에서 따로 언급하도록 하겠다. MIB는 계층적 구조를 가짐으로 필요에 따라서 확장해서 사용이 가능하며, (물론 프로그래밍 능력이 있어야 하지만)때에 따라서는 자체 회사내에서만 사용가능하거나 제한된 네트워크 영역의 네트워크상황을 관제하는 제품을 위한 MIB를 추가해야 하는경우가 생길수 있을것이다. 그래서 사설로 MIB를 만들어서 사용할수 있는 여지를 남겨두었다. (마치 독립된 지역네트워크를 위해 사설IP를 사용하는 것처럼) 이러한 사설 MIB는 private(4)의 enterprises(1)에 정의해서 사용할수 있다. 여러분이 그리 대중적이지 않은 그래서 IANA에 등록되지 않은 어떤 장비의 고유 SNMP정보를 얻어오고 싶다면 업체에 문의하거나, 메뉴얼을 확인하는 정도로 쉽게 SNMP정보를 얻어올수 있다. 현재 MIB는 버젼 2까지나와 있으며, 버젼의 구분을 위해서 MIB-1, MIB-2로 부르고 있다. MIB-2는 MIB-1의 확장판으로 MIB-1의 모든 객체를 포함하여 약 171개의 객체들을 더 포함하고 있다. 최근의 제품들은 대부분 MIB-2를 지원하고 있다. 물론 위에서 말했듯이 독자적인 MIB를 만들어서 사용할수 있으며, 이를 확장 MIB라고 부른다. 2.5절. SNMP 프로토콜의 동작과 구성현재 SNMP는 버전 3가지 나와있는 상태이지만 아직까지는 버젼2가 가장 널리 사용 되고 있다. 필자역시 SNMP 버젼 2에 대한 경험이 많은 관계로 버젼2를 기준으로 설명하도록 하겠다. SNMP는 기본적으로 네트워크 정보를 수집하는데 그 목적이 있는데, 수집하는 몇가지 각각 다른 방법이 있다. 일반적으로 생각해서 우리가 생활중에 얻게 되는 정보는 우리가 요구해서 발생하는 정보와(신문을 구입한다든지, 인터넷으로 서핑을 하는등) 뉴스속보와 같은 형식으로 중요한 일이 있을때 발생하는 정보가 있을것이다. 또한 단지 정보를 얻는데 그치지 않고 정보를 입력하기도 한다. SNMP정보수집역시 기본적으로 위의 일상생활에서의 정보수집과 같은 방식으로 이루어진다. 이하 snmp manager은 manager로 snmp agent는 agent로 부르도록 한다.
SNMP프로토콜은 기본적으로 어떤 정보를 요청하는 메시지와 이에 대한 응답메시지로 이루어지며 다음과 같은 구조를 가지고 있다. Version은 말이 필요없다. SNMP프로토콜의 버젼번호를 나타낸다. Community name은 메니저와 에이전트간의 관계를 나타내는데, 인증, 접근통제등의 목적으로 사용된다. 보통은 간단하게 public을 사용한다. PDU 는 Physical Data Unit의 줄임말인데, 실제 전송되는 필요한 정보들을 담고 있는 Unit이다. Unit 이라고 하는 이유는 실제 전송되는 정보들의 부가 속성을 나타내기 위한 몇가지 값들을 포함하고 있기 때문이다. PDU는 PDU 타입(GET인지 Set인지 GET Next인지, TRAP인지등)과, Request-id, 실제보내고자 하는 데이타등(OID와 OID에 대한 값들)으로 구성되어 있다.SNMP를 통해서 전달되는 메시지들은 기본적으로 UDP를 이용하게 된다. 바로위에서 PDU는 Request-id를 포함하고 있다고 했는데, 데이타그램처리방식인 UDP의 단점을 극복하기 위해서 사용되는 값으로, 각 메시지의 요청번호를 표시한다. 그래야만 수신된 SNMP메시지가 어떤 요청에 대해서 수신된 메시지인지 확인이 가능할것이기 때문이다. 3절. SNMP 설치 및 운용그럼 실제로 시스템에 SNMP(agent와 manager 애플리케이션)을 설치해서 정보를 가져오는걸 간단히 테스트 해보도록 하겠다. 설치는 Linux(Kernel-2.4.x)에서 ucd-snmp로 할것이다. 위에서 설명했듯이, SNMP는 manager과 agent로 운영되게 되는데, 테스트의 편의를 위해서 하나의 시스템(localhost)에서 manager와 agent를 운용하도록 하겠다. 3.1절. ucd-snmp 설치ucd-snmp는 net-snmp.sourceforge.net에서 얻을수 있으며 애플리케이션 관련 정보들도 얻을수 있다. ucd-snmp는 현재 버젼 5.x대까지 진행되어 있는데, 5.x부터는 net-snmp로 이름을 바꾸고 개발되어지고 있으며, 4.x버젼까지를 ucd-snmp라고 부르고 있다. 필자는 익숙한 ucd-snmp(버젼 4.x)를 설치하도록 할것이다. 비록 net-snmp가 최신이긴 하지만 별로 다루어본적이 없고, 대부분의 경우 아직까지는 ucd-snmp가 많이 사용되어지고 있기 때문이다. 최신이 아니라고 불만을 가질 필요는 없다. 근본적으로 net-snmp와 ucd-snmp간의 차이는 없으며, 우리의 목적은 최신의 snmp애플리케이션을 테스트하는게 아닌 snmp의 기능과 원리를 이해하고 이를 이용해서 필요한 응용 애플리케이션을 작성하는 것이기 때문이다. 위의 URL에서 ucd-snmp를 다운받아서 압축을 풀고 컴파일 하도록 하자. 컴파일 하는중에는 아마도 아무런 문제가 없을것이다. 컴파일은 매우 일반적인 방법을 따른다. 적당한 디렉토리에 압축을 풀고 ./configure, make, make install 하면된다. 헤에... 너무 간단하지 않은가 ? 3.2절. SNMP AGENT 실행make install 까지 했다면 agent와 manager프로그램이 모두 설치되어 있을 것이다. 그리고 여기에 더불어 개발자를 위한 각종 라이브러리와 헤더파일들도 설치된다. 이 라이브러리와 헤더파일들은 개발할때 필요하며 다음 강좌에서 다루게 될것이다. ucd-snmp는 agent 프로그램으로 snmpd를 제공한다. agent환경을 제대로 만들려면 복잡해보이는(사실은 그리 복잡하다고 볼수없는) 설정파일을 만들어줘야 하지만 이것은 각자의 몫이다. net-snmp프로젝트 홈페이지에서 제공하는 메뉴얼을 참고하기 바란다. 어쨋든 현재로써는 단지 snmpd를 띄우는 정도로 snmp agent환경을 만들수 있다.
3.3절. SNMP MANAGER 테스트3.3.1절. 동기적인 데이타 요청 - snmp get, get nextGET과 GET NEXT는 동기적인 정보요청을 위해서 사용한다. manager에서 agent에 대해서 정보를 요청했을때 해당 정보를 agent에서 보내주는 방식이다. GET은 단일정보요청을 위해서 사용하며, GET NEXT는 해당 계층의 하위에 있는 모든 정보의 요청을 위해서 사용된다. ucd-snmp는 이러한 정보요청을 위한 manager프로그램으로 snmpget과 snmpnext, snmpwalk를 제공한다. snmpget은 이름에서 알수 있듯이 agent로부터 특정한 정보를 얻어내기 위해서 사용한다. 정보를 얻기 위해 필요한 기본정보는 agent가 설치되어 있는 서버의 주소(혹은 이름) 와 커뮤니티(권한을 위한)이름 그리고 얻기 원하는 정보의 OID번호 혹은 MIB의 계층이름이다. 예를들어서 localhost로부터 public권한을 가지고 sysDescr(시스템 부가정보)정보를 얻어오고 싶다면 아래와 같이 하면 된다.
snmpwalk는 해당 MIB의 하위계층에 있는 모든 정보를 요청한다. 예를들어 system MIB의 하위 계층에 있는 모든 OID에 대한 정보를 요청하길 원한다면 아래와 같이 하면된다. 이게 가능한 이유는 snmpwalk가 정보를 요청하기 위해서 snmp메시지를 만들때 PDU타입을 GET NEXT를 사용하기 때문이다. 나중에 직접구현하게 될것이다. 지금은 구현에 신경쓰지 말자. system하위의 모든 OID에 대한 정보를 얻어오고 있음을 확인할수 있다. snmpgetnext는 snmpwalk의 기능 축소판정도로 볼수 있을것이다. 즉 MIB계층구조에서 현재 요청한 OID의 다음 OID의 정보를 가져온다. 예르들어 system.sysDescr.0에 대한 정보를 요청하면 다음 OID인 system.sysObjectID.0의 정보를 요청하게 될것이다. 이게 가능한 이유는 snmpwalk와 마찬가지로 내부적으로 GET NEXT를 이용하고 있기 때문이다. snmpwalk가 더이상 얻을수 없을때까지 OID를 요청하는것과 달리 snmpgetnext 바로다음의 OID만을 요청한다. 3.3.2절. 비동기적인 데이타 요청 - snmp trap기본적으로 GET, GET NEXT를 통한 데이타요청은 일정한 polling시간을 가지고 manager에서 agent로 필요한 정보를 요청하는 방식이다. 그러나 이걸 이용해서는 비동기적으로 발생하는 정보를 수집할수가 없다. 이러한 비동기적인 정보는 여러가지가 될수 있다. 예를들면 특정 네트워크 세그먼트에 문제가 생겼다거나 디스크나 메모리용량을 과다하게 사용하고 있다거나(많은 운영체제의 경우 시스템정보까지도 snmp를 통해서 얻을수 있도록 허용하고 있다)하는 사건들은 비동기적으로 발생할것이다. 이럴경우에는 agent에서 manager측으로 사건을 통보해야 할것이다. 이렇게 agent에서 manager측으로 비동기적으로 사건을 통보하는 것을 SNMP TRAP라고 한다(간단히 말해서 경고메시지 보내는거다). ucd-snmp에서는 이러한 trap정보를 전송하고 받기 위해서 snmptrapd와 snmptrap를 제공한다. snmptrapd는 agent에 제공되는 데몬프로그램으로 manager에서의 trap데이타 발생을 기다린다. snmptrap는 agent에 설치되어서 사용될수 있으며 trap데이타를 manager로 전송하는 일을한다. 이 snmptrap은 꽤 유용하게 사용할수 있다. 간단하게 스크립트로 만들어서 어떤 파일이 변조되었을경우 trap정보를 manager쪽으로 발생시킨다거나, 프로세스 갯수가 일정갯수 이상 초과했을때 이를 전송한다든지 하는 기능을 비교적 간단하게 추가시킬수 있을것이다. 다음은 ucd-snmp에서 제공하는 trap애플리케이션을 이용한 간단한 테스트이다. 먼저 snmptrapd를 manager측에서 실행시켜야 한다. 이 애플리케이션은 옵션없이 실행할경우 데몬모드로 실행되며 표준출력을 시키지 않음으로 다음과 같이 옵션을 주고 실행시켜서 일반모드(forground)에서 받은 trap정보를 표준출력하도록 실행시키도록 하자.
이들 ucd-snmp에서 제공하는 애플리케이션들의 자세한 사용법은 메뉴얼 페이지를 참고하기 바란다. 4절. 결론이상 SNMP의 개념과 개념의 이해를 위해서 실제 사용되는 snmp애플리케이션을 설치해서 간단히 운영테스트까지 해보았다. 이러한 운영테스트를 위해서 ucd-snmp를 사용했는데, 다음 강좌는 ucd-snmp에서 제공하는 snmplib를 통해서 snmp애플리케이션을 만드는 법을 다루도록 하겠다. |
'engineering/Network Eng.'에 해당되는 글 122건
- 2006.08.07 SNMP개요및 설치,운용
- 2006.08.07 Ethereal 사용법
- 2006.08.07 MRTG (Multi Router Traffic Grapher)
- 2006.08.07 null interface의 라우팅 루프 방지
- 2006.08.07 내 컴퓨터 안의 또 다른 컴퓨터, 가상PC VMware 4
- 2006.08.07 네트워크 - 세계 IP 주소 분포도
- 2006.08.07 Snort란? Snort설치 및 활용
- 2006.08.07 bat(배치)파일 문법
- 2006.08.07 CIDR (Classless Inter-Domain Routing)
- 2006.08.07 OSPF의 이해
블로그 > bestkr00님의 블로그 http://blog.naver.com/bestkr00/40012093656 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
이더리얼은 이와 달리 다양한 기능을 제공하지만 누구나 쉽게 접근할 수 있는 공개용 툴이다. 대부분 윈도우에서 이더리얼을 사용하지만 이더리얼은 원래 리눅스용으로 사용되던 툴이다. 리눅스를 많이 사용하는 사람들은 ‘tcpdump’라는 패킷 덤프 툴에 익숙할 것이다. tcpdump 가 명령어 창에서 패킷의 헤더를 본다면 이더리얼은 GUI 형태에서 프로토콜 포맷을 구분한다. (화면 1)은 똑같은 핑(ping) 패킷을 리눅스는 tcpdump로, 윈도우에서는 이더리얼로 캡처한 것이다. 물론 리눅스용 이더리얼을 사용하면 GUI 형태로 볼 수도 있다.
(화면 2)는 일반적으로 많이 사용하는 간단한 핑 테스트의 결과 화면이다. 이를 보고 우리는 ‘아, 정상적으로 응답이 됐구나’라고 생각할 것이다. 그렇다면 패킷이 실제로 오가는 모습을 보지도 않은 우리가 그와 같이 판단하는 근거는 무엇인가. 그것은 오로지 핑 프로그램의 결과에만 의존해 정상적으로 동작했다고 판단했을 뿐이다. 하지만 패킷 분석기는 다르다. 단순히 결과를 보고 추측하는 것이 아니라 실제 네트워크 를 지나다니는 패킷들을 살펴보고, 분석할 수 있도록 한다. 핑 요청(ping Request)이 가고, 핑 응답(ping Reply)이 되돌아오는 과정을 직접 확인할 수 있는 것이다. 만약에 ‘Request timeout’이 되면 그냥 상대방 컴퓨터가 죽었기 때문이 아니라 왜 그랬는지를 파악해야만 한다. 패킷 분석기는 ‘내 컴퓨터가 못 보냈는지’ 아니면 ‘나는 보냈는데 상대 컴퓨터에서 응답이 안 온것인지’ ‘못 보냈다면 왜 못보냈는지’ 등을 파악하는데 도움을 준다. 이더리얼은 MRTG와 마찬가지로 리눅스, 솔라리스, HP-UX, FreeBSD, 윈도우, 매킨토시 등 다양한 운영체제를 지원한다. 이번 기고에서는 일반적으로 가장 많이 사용하는 윈도우 기반의 이더리얼에 대해서만 소개하도록 한다. 이더리얼은 공식 홈페이지(www.ethereal.com)에서 다운로드 받을 수 있다. 단, 주의할 점은 이더리얼 설치 전에 윈도우에서 패킷을 캡처해 주는 툴인 WinPcap를 먼저 설치해야 한다는 점이다(참고로 리눅스에서는 libpcap가 그 역할을 한다). 알다시피 운영체제의 NIC들은 자신의 인터페이스로 들어오는 패킷 중 목적지 하드웨어 어드레스가 자신이 아닐 경우는 상위로 올려보내지 않고 버리게 돼 있다. 그래서 이런 패킷들을 모두 애플리케이션단까지 올리려면 별도의 툴을 설치해야 한다. 그것이 바로 WinPcap다. WinPcap는 해당 홈페이지(http://winpcap.polito.it)에서 다운로드 받을 수 있다. WinPcap와 윈도우용 이더리얼은 모두 윈도우용 실행 파일이므로 설치 과정은 쉽다. WinPcap는 설치가 모두 되고 나면 이더리얼에서 캡처를 하는 동안에만 사용하게 되므로 신경쓰지 않아도 된다. 캡처 옵션 사용 방법 자, 이제 이더리얼 설치가 끝났다면 (화면 3)처럼 [시작] → [프로그램] → [Ethereal] → [Ethereal]을 실행시켜보자. 누구라도 어떤 새로운 프로그램을 실행할 때 이 단계까지는 막힘없이 진행할 수 있다. 하지만 그러고 나서는? 그 다음에는 ‘이제 뭘 해야 하지’라고 고민할 것이다. 하지만 이더리얼은 고민할 필요가 없다. 왜냐하면 이더리얼은 패킷을 캡처하고 분석하는 프로그램이므로, 화면 상단에 있는 여러 메뉴 중에서 가장 적합한 의미를 지닌 ‘Capture’라는 메뉴를 바로 찾을 수 있기 때문이다. 'Capture'를 실행하면 (화면 4)와 같은 화면을 볼 수 있다. 여기서 몇 가지 옵션만 설정하고 나면 실제 이더리얼의 90%는 사용했다고 볼 수 있다.
(화면 4)의 옵션은 특별히 설명할 필요도 없이 간단하다. 가장 먼저 LAN 카드의 종류를 선택하도록 돼 있다. 참고로 화면상에 보이는 필자의 노트북은 Realtek의 8139 칩을 사용하는 LAN 카드가 장착돼 있다. 다음으로 필터링 옵션이 있는데, 이 부분은 옵션 사용 방법을 조금 알아야 한다. 아무것도 넣지 않으면 모든 패킷이 다 캡처돼 출력되기 때문에 원하는 패킷만을 볼 수 없다. 필터 방법에 대해서는 다시 설명하도록 하겠다. 다음으로 ‘파일(File)’ 옵션은 캡처된 파일을 별도의 파일로 저장할 수 있도록 한다. 이 기능을 이용하면 저장했다가 나중에 필요할 때 불러서 다시 사용할 수 있다. ‘화면 옵션(Display Option)’은 캡처된 파일을 실시간으로 보여줄 것인지 아니면 캡처가 끝난 다음에 보여줄 것인지를 결정한다. ‘화면 옵션’은 장단점이 있다. 실시간으로 보게 될 경우 즉각적으로 패킷들을 볼 수 있는 반면, 패킷이 많을 때는 프로그램 구동에 부하를 줄 수도 있다. 하지만 일반적인 네트워크에서는 부하 정도까지는 아니어서 필자의 경우 실시간으로 보여주기 옵션을 주로 이용한다. ‘캡처 제한’ 옵션은 숫자, 시간, 사이즈에 따라 선택할 수 있도록 돼 있으며, ‘이름 해석(name resolution)’ 부분은 패킷을 분석할 때 나타나는 하드웨어 어드레스, IP 어드레스, 포트 번호에 대해서 이름 해석을 할지를 묻는 메뉴이다. 예를 들면 어떤 패킷의 하드웨어 어드레스가 00-06-C4-11-22-33이라면, 이 하드웨어는 필자가 근무하는 ‘파이오링크’의 고유 MAC 어드레스에 속한다. 이때 어드레스 해석 기능을 사용하면 48비트 주소로 보이는게 아니라 piolink_11-22-33이라고 표시된다. TCP 포트 23번의 경우 텔넷(Telnet) 이라고 표시된다. 이 옵션은 자칫하면 캡처된 파일을 보여주는 과정에서 부하를 일으킬 수도 있으니 모든 것을 사용하는 것은 금물이다. 자 여기까지 선택이 끝났다면 그 다음은 ‘OK’를 누르면 된다.
(화면 5)는 기본 옵션으로 캡처한 결과다. 패킷 덤프된 결과는 크게 3개의 화면에 나타난다. (화면 5)의 맨 윗줄은 순차적으로 캡처된 패킷들의 내용이고, 가운데 창은 첫번째 창에서 선택된 패킷을 사용자가 알아볼 수 있도록 계층 구조로 표현한 내용이다. 마지막으로 맨 아랫줄은 선택된 패킷의 실제 내용으로, 16진수로 구성돼 있다. 16진수로 표시된 부분의 옆을 자세히 보면 사람이 식별할 수 있는 문자가 나와 있긴 하지만 가독성 측면에서 그리 좋지는 않다. 하지만 사용자가 어떤 웹 사이트에 ID와 암호를 넣을 경우 바로 이 부분에 해당 내용이 표시된다(꼭 한번 테스트 해 보자). 실제로 필자가 가장 많이 테스트해 보는 부분은 첫번째와 두번째의 계층 형태로 구분된 부분이다. 이 같이 계층 구조로 표현이 가능한 것은 이더리얼이 해당 프로토콜을 분석할 수 있기 때문이다. 실제 이더리얼 홈페이지에서 확인해 보니 ‘422개의 하위부터 상위계층까지의 다양한 프로토콜을 지원한다’라고 설명돼 있었다. 이 정도라면 어떤 네트워크에서든지 이더리얼을 사용할 수 있을 것이다.
이더리얼은 리눅스의 Tcpdump와 맥락을 같이 한다. 그래서 이더리얼에서 사용하는 필터링 방법은 Tcpdump만 제대로 활용할 수 있다면 보다 쉽게 접근할 수 있다. 앞에서도 잠깐 언급했지만 이더리얼을 아무런 필터링 옵션 없이 사용한다는 것은 그리 유쾌한 일은 아니다. 왜냐하면 네트워크에는 사용자가 원하는 패킷들만 지나다니는게 아니라 아주 다양한 패킷들이 오가고 있기 때문이다. 사실 이더리얼과 같은 패킷 분석기를 실행하고 나면 보고 싶은 패킷보다 그렇지 않은 패킷들을 더 많이 만나게 될 것이다. 이제부터 필터링 설정 방법에 대해 자세히 알아보자. 패킷 필터링은 ‘File-Capture’를 누르고 나면 나타나는 캡처 옵션 중 필터(Filter)에 입력하는 부분을 말한다. 이 외에도 캡처된 내용들이 화면에 뿌려질 때 사용되는 디스플레이 필터(Display Filter)가 있는데 이 부분에 대한 설명은 뒤에서 다시 하겠다. 필터에서 사용 가능한 옵션으로는 and/or/not, ‘host/net, src/dst, tcp/udp/icmp,, less/greater, ip/ether proto, ether/ip broadcast/multicast 등이 있다. 이제부터 www.nemaum.net이라는 사이트를 모델로, 실제 필터를 구동해 캡처된 패킷을 살펴보도록 하자. www.nemaum.net는 도메인을 사용했으므로 DNS가 사용될 것이다. DNS는 보통 UDP 53을 사용하는데, 예제를 든 것은 웹사이트이니 TCP 80을 사용한다. 또한 외부로 통신하기 위해 자신의 게이트웨이의 ARP 요청을 할 수도 있다. 이 경우는 (화면 6)과 같은 필터 방법을 사용할 수 있다. 이 부분은 쉽게 이해할 수 있을 것이다. 왜냐하면 위에 나열된 포트들은 이미 독자들도 이전부터 사용해 왔던 포트들일 것이니 말이다.
(화면 8)의 필터 옵션은 arp이거나 icmp인 패킷을 캡처하는데 사용됐다. 실제 캡처된 내용에도 arp와 icmp들만 캡처된 것을 볼 수 있다. 다음은 조금 더 세밀하게 특정 사이즈를 가진 패킷을 얻고 싶을 때 사용하는 필터에 대해 알아보자. 이런 패턴의 경우, 실제로 많이 사용하지는 않지만 최근에 발생한 ‘Welchia’ 라고 불리는 웜 바이러스가 ‘92바이트’의 사이즈를 가진 데이터를 네트워크에 있는 수많은 장비들로 보내 응답이 되돌아오면 다음 공격을 시도한다. 사실 어제 필자의 사무실 네트워크도 상당히 느려졌는데 바로 이런류의 패킷이 있었다.
(화면 9)의 필터는 icmp이면서 IP인 패턴인데, IP 뒤에 [2:2]라는 특이한 옵션이 붙었다. 이것은 IP 헤더 중에 전체 길이를 나타내는 필드의 위치를 표시한다. 2는 16비트로 실제 전체 길이를 나타내는 위치이다. 다음으로 나오는 2는 전체길이를 16비트라는 값에 나타내게끔 돼 있어 [2:2]가 된다. 잘 이해가 안된다면 IP 헤더의 포맷에 대해 소개한 책이나 글을 다시 보도록 하자. (화면 10)을 보면 목적지 어드레스가 계속 하나씩 증가하고 있다. 이렇게 수도 없이 핑을 날려버리기 때문에 네트워크 전체가 마비되는 경우가 종종 있다. 다음은 디스플레이에서 사용할 수 있는 필터에 대해 알아보도록 하자. ‘Display Filter’는 이미 다양한 옵션을 사용해 캡처된 파일 중, 다시 화면에 뿌려지는 내용에 필터를 걸고 싶을 때 사용한다. 여기서 사용할 수 있는 필터가 한가지 더 있는데 ‘Color Filter’가 그것이다. 이 기능을 이용하면 실제 특정 패턴의 경우 화면에 색깔을 다르게 표시할 수 있기 때문에 가독성이 좋아진다.
이들 필터 옵션은 기본적으로 캡처할 때 사용했던 필터 옵션들에 추가적으로 사용할 수 있다. 필자의 경우는 애플리케이션 계층에 있는 컨텐츠를 확인할 때 종종 사용한다. (화면 11)은 예전에 한창 유행했던 코드레드, 님다 웜 바이러스를 ‘Coloer Filter’를 통해 화면상에서 눈에 확 띄도록 표시한 것이다. (화면 11)의 왼쪽 그림은 Color Filter에 추가된 내용을 보여준다. 필자가 사용한 필터는 ‘tcp contains default.ida’ 와 ‘http contains cmd.exe’ 이다. default.ida는 코드레드 유형에서 사용되는 전형적인 패턴이고, cmd.exe는 님다에서 주로 사용한다. 이들을 각각 빨간색과 파란색 배경으로 나타나게 했다. (화면 11)의 오른쪽 화면은 실제 각각의 패턴이 일치했을 때 나타나게 된다. 이더리얼을 이런 방법에 응용하면 아주 유용할 것이다.
이더리얼로 네트워크 문제 파악하기 인터넷이 안될 때 가장 먼저 어디에 원인이 있다고 생각하는가. 흔히들 인터넷이 안되면 제일 먼저 상대방 서버가 다운됐거나, 자신이 사용하는 네트워크에 문제가 생겼거나, 라우터에 문제가 생겼다고 짐작할 수도 있다. 하지만 네트워크 관리자라면 짐작 수준에서 그칠 수는 없는 노릇. 지금부터 이더리얼을 이용해 네트워크에 어떤 문제가 발생하고 있는지 알아보도록 하자. ․핑(ping)이 안될 때 내 네트워크에 있는 192.168.0.100이라는 컴퓨터의 생존(?) 여부를 확인하기 위해 핑을 했는데 응답이 없었다(화면 12). 대부분 핑은 ‘ICMP Echo Request’를 날려서 응답을 받는 프로그램이기 때문에 ‘Echo Reply’가 오지 왔기 때문이라고 생각하기 쉽다. 그렇지만 아닐 수도 있다.
(화면 13)을 보면 192.168.0.4라는 필자의 컴퓨터는 192.168.0.100에게 ‘ICMP Echo Request’ 조차 보내지 못했음을 알 수 있다. 다만 필자의 컴퓨터는 192.168.0.100의 MAC 어드레스를 얻기 위해 ARP 요청만 반복하고 있을 뿐이다. 대부분 이더넷에서 통신을 하기 위해서는 IP에 대한 ARP 요청을 한다고 생각하지만, 핑에 대한 응답이 오지 않을 때 그렇게 생각하기 보다는 이미 ‘Request’ 됐다고 생각하는 경우가 많다. ․웹 페이지가 안 열릴 때 (화면 14)는 필자의 개인 홈페이지(www.nemaum.net)에 요청을 했는데 응답이 없는 경우다. 이때 웹 서버가 죽은것이 아닐까라고 판단할 수 있지만 방심은 금물이다. (화면 15)에서 이더리얼을 구동시킨 결과를 한번 보자. 필자의 컴퓨터 IP 어드레스 설정시 존재하지 않는 잘못된 DNS 서버들을 입력해 놓았음을 알 수 있다. 즉, www.nemaum.net에 대한 요청을 했을 때 컴퓨터는 우선 이름 풀이를 하고자 설정된 DNS 서버에 요청을 했지만 존재하지 않는 서버들은 응답을 하지 않았다. 결국 웹 서버가 죽은 것이 아니라 DNS의 오류로 접속하지 못했다는 것을 알 수 있다. 네트워크에 문제가 발생했을 때 어림짐작으로 문제의 원인을 추측하는 일은 금물이다. 이더리얼은 그런 측면에서 많은 도움을 준다. 스위치 미러링으로 네트워크 전체 오가는 패킷 캡처하기 이더리얼을 설치한 컴퓨터에서 나오고 들어가는 패킷만 잡으려면 이번 기고는 여기서 끝내면 된다. 하지만 실제 운영되고 있는 네트워크에서 문제를 찾기 위해서는 네트워크 전체를 지나다니는 패킷을 캡처할 수 있어야 한다. 흔히 초보자들이 패킷 분석기를 들고 네트워크 문제를 해결한다는 열정만으로, 문제가 생긴 네트워크에 있는 스위치에 모니터링 장비를 과감히 꽂아 놓고 한참을 들여다 보는 경우가 있는데 패킷 분석기들은 자신에게 온 패킷들만 수집하게 돼 있다. 잘 알다시피 네트워크 스위치들은 ‘MAC Learning’이라는 기능이 있어 각 포트들에 어떤 컴퓨터들이 연결돼 있는지를 알 수 있다. 그래서 목적지 어드레스가 자신이 아닌 모든 패킷을 받을 수가 없다. 이 사실은 반드시 기억하자. 그래서 가장 많이 사용하는 방법이 (그림 2)와 같이 네트워크에 있는 스위치에서 미러링을 하는 것이다.
물론 이 방법은 스위치가 이런 기능을 제공해야 가능하다(어느 정도의 스위치들은 대부분 미러링 기능을 제공한다). 한 가지 더 중요한 사실은 미러링을 하고 나면 대부분의 스위치들의 해당 포트(모니터링 장비가 연결된 포트)는 네트워크에 연결될 수 없다는 사실이다. 이런 연결을 할 때 주의할 점은 트래픽이 굉장히 많은 곳에서 모든 패킷이 포워딩될 경우 스위치는 둘째치고 모니터링 장비의 성능에 문제가 있을 수 있다. 네트워크를 설계한다면 이런 점도 고려하기 바란다. 탭과 허브 이용해 모니터링 구현하기 다음으로 최근 많이 사용하는 방법 중 하나인 탭(Tap)이라는 장비를 중간에 두는 것이다.이 장비는 (그림 3)처럼 생겼고 모니터링하고 싶은 지점의 중간에 둬 실제로 지나가는 모든 패킷을 모니터링 장비로 보내주는 역할을 한다. 탭 영업을 하는 사람들은 스위치들은 미러링을 하면서 성능 저하가 많이 일어나기 때문에 탭을 써야 하며, 탭이 패킷 손실을 막아주기도 한다고 설명한다. 실제로 최근 금융권 같이 네트워크에 상당히 민감한 곳에서는 이런 장비를 많이 사용하고 있다.
(그림 4)는 허브를 이용한 모니터링을 구현하는 방식이다. 허브는 입력된 모든 패킷을 자신이 갖고 있는 모든 포트로 내보내면서 동작을 한다. 그래서 별도의 옵션 없이도 모니터링 장비로 패킷을 보낼 수 있다. 그렇지만 허브는 구석기 시대 장비로, 포트 네고시에이션(Port Negotiation)이나 성능에 문제를 야기시킬 수도 있다. 개인적으로는 그리 추천하고 싶은 방법은 아니다. 하지만 정말로 다른 장비를 준비하기가 힘들다면 트래픽이 몇 Mbps 수준인 작은 네트워크에서는 대체용으로 사용하는 것은 가능하다.
자료출처 : http://blog.naver.com/b2future.do Reference Ethereal site : http://www.ethereal.com WinPcap site : http://winpcap.polito.it |
블로그 > ~~랑쓰 이야기~~ http://blog.naver.com/ilrang77/60002724994 | |
들어가면서 네트워크를 사용하는 사람이라면 자신의 네트워크의 트래픽이 얼마정도인지 확인해 보고 싶은 생각을 한번쯤은 해 봤을 것이다. 네트워크의 트래픽을 보여주는 유닉스 커맨드들이 있지만 수 많은 옵션들은 금방 초보들의 기를 꺾어 버리고 그 결과조차도 한눈에 파악하기가 쉽지 않다. 상용 Network Management툴들이 있지만 개인 사용자가 이런 고가의 툴들을 구입해서 사용하기는 힘들다. MRTG는 바로 이런 분들을 위한 S/W이다. MRTG는 네트워크 링크(대부분의 경우 라우터)의 트래픽을 모니터링하는 툴이다. MRTG는 실시간의 트래픽 정보를 그래프로 보여주는 html 페이지를 생성한다. 그래프는 GIF 화일에 저장되고 이 화일은 사용자가 지정하는 시간만큼의 단위로 리프레쉬된다. MRTG의 홈페이지는 http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html이다. 필자의 능력이 부족해서인지 MRTG에 대한 자료는 많이 찾을 수 없었다. 혹시 한글 문서가 있지 않을까 해서 돌아다녀 봤지만 찾을 수가 없었다. 하지만 필요한 대부분의 정보는 MRTG의 홈페이지에서 얻을 수 있다. 이 문서에서는 MRTG 홈페이지의 내용을 기반으로 하여, 이 툴을 설치하고 운영해본 경험을 다루기로 한다. 더 자세한 정보를 얻기 원한다면 MRTG 메일링 리스트에 가입하라. 가입하는 방법은 다음과 같다. 제목을 subscribe로 하여 mrtg-request@list.ee.ethz.ch나 mrtg-announce-request@list.ee.ethz.ch로 메일을 보내면 된다. 실수 없이 메일을 보냈다면 가입이 되었다는 회신이 올 것이다. 이후에 실제적인 포스팅을 할때에는 mrtg@list.ee.ethz.ch로 메일을 보내면 된다. MRTG가 생성하는 그래프의 예를 보려면 http://www.ee.ethz.ch/stats/mrtg에 가보라. MRTG는 Perl과 C로 작성되었으며 UNIX와 Windows NT 환경하에서 작동한다. 현재 많은 사이트에서 네트워크 트래픽을 측정하기 위해 MRTG를 사용하고 있다. MRTG를 사용하는 사이트들의 리스트가 http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/users.html에 있다. 물론 여기에 기록된 사이트가 다는 아닐 것이다. 필자의 시스템도 여기에 등록되어 있지 않으니까. MRTG란? MRTG는 SNMP를 사용하여 라우터에서 트래픽 정보를 가져오는 Perl script와, 트래픽 데이타 로그 기능과 네트워크 트래픽 정보를 그래프로 만들어주는 기능을 가지는 C 프로그램으로 구성된다. 이 그래프는 일반적인 웹 브라우져에서 볼 수 있는 html 화일에 넣어진다. MRTG의 특징 1. 대부분의 유닉스와 Windows NT 플랫폼에서 작동 가능하다. MRTG 설치 방법 1) 소프트웨어를 다운로드한다. MRTG의 최신버젼은http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/에 있다. 2) 설치하려는 시스템에 GD 라이브러리가 없다면 http://www.boutell.com에서 GD 라이브러리를 다운로드한다. 3) Perl 5.003 이상의 버젼이 설치하려는 시스템에 있어야 한다. 없다면 4) 자신의 시스템에 맞게 Makefile을 수정한다. 최소한 PERL 항목과 GD_LIB 항목은 변경해야 한다. 5) rateup 실행 화일을 만들기 위해 make rateup을 실행한다. 6) make substitute를 실행하여 MRTG의 perl 스크립트에 시스템의 perl 실행 화일의 패쓰를 삽입한다. 7) MRTG가 웹페이지를 생성할 디렉토리를 정한 후, mrtg*.gif 화일들을 이 디렉토리에 카피한다. 이 화일들은 생성되어질 웹페이지에서 참조될 화일들이다. 필요할 때 쉽게 참조하기 위해 readme.html 화일도 이 디렉토리에 카피하는 것이 좋다. 8) MRTG 배포판에 있는 그 외의 모든 화일들은 MRTG 실행 화일과 같은 디렉토리에 넣어 놓는다. 이 디렉토리는 어느 곳이어도 상관없다. 이 디렉토리에는 다음의 화일들이 반드시 있어야 한다 : BER.pm, SNMP_Session.pm, mrtg, rateup 9) 자신의 mrtg.cfg 화일을 만든다. mrtg.cfg-dist 화일을 참조하라. 설명이 잘 되어있으므로 그렇게 어렵지는 않다. mrtg.cfg-dist 화일을 mrtg.cfg 화일로 복사한 후에 주석을 보면서 각 항목을 수정하면 된다. 라우터의 포트 할당을 알아내는 일이 cfg 화일을 만드는데 있어서 좀 힘든 부분인데, cfgmaker 툴을 사용하여 이를 해결할 수 있다. cfgmaker 툴은 mrtg.cfg 화일을 만드는데 필요한 라우터의 정보를 제공하는 툴이다. 사용 방법은 다음과 같다. cfgmaker <community>@<router-host-name or IP> | more 라우터의 community name을 모른다면 public을 사용해보라. 그래도 안되면 라우터 관리자에게 문의하라. community이름이 틀리면 cfgmaker는 아무런 정보도 출력하지 않는다. 10) MRTG 2.0 이전 버젼에서 업그레이드 하려면 convert 스크립트를 이전 버젼의 로그 화일에 적용시켜서 로그 화일의 포맷을 MRTG 2.0에서 사용 가능하도록 한다. 11) MRTG 실행 화일이 있는 디렉토리에서 ./mrtg mrtg.cfg 를 실행시킨다. cfg 화일을 맞게 만들었다면 MRTG는 지정한 라우터에서 트래픽 데이타를 가져온다. 처음 MRTG를 실행시키면 로그 화일이 없다는 에러 메세지가 나온다. 신경쓸 것 없다. 에러 메세지가 안나올때까지 계속 실행시키면 된다. 필자의 경우 3번 정도 실행시켰다. 만약 에러 메세지가 계속 나온다면 이는 cfg 화일이 잘못 작성된 것이다. 12) 일정 시간 간격으로 그래프를 업데이트 시키기 위해서 crontab 에 MRTG 를 넣는다. 매 5분마다 그래프를 업데이트 하려면 다음 항목을 crontab에 넣는다. cfg 화일 작성에서의 팁 많은 링크를 모니터링 하고자 한다면 개요 페이지를 만드는 것이 좋다. 이를 위해 indexmaker 스크립트가 있다. 이 스크립트를 사용하여 각각의 트래픽 상태 페이지를 가리키는 항목들을 그 내용으로 하는 웹페이지를 생성할 수 있다. 사용 방법은 다음과 같다. Indexmaker <mrtg.cfg> <regexp for router-names> <html> MRTG는 디폴트 5분 간격으로 그래프를 업데이트한다. 그런데 로컬 브라우져의 캐쉬나 프락시의 캐쉬를 사용함으로써 그래프가 업데이트되지 않을 수 있다. 만약 이런 불상사가 생긴다면 여기에 해결책이 있다. 단 이는 아파치 웹 서버를 사용할때에만 적용된다. 그 방법은 다음과 같다. mrtg.cfg 화일의 WriteExpire 키워드와 아파치 서버의 config화일의 MetaDir 키워드를 적절하게 셋팅한다. 이것저것 귀찮은 사람은 그냥 reload 버튼을 누르면 될 것이다. 필자의 웹 서버는 오라클 웹 서버이고, 웹 브라우져는 넷스케이프인데, 매 5분마다 페이지가 업데이트될때마다 자동으로 브라우져의 내용이 업데이트되었다. MRTG의 주 목적은 트래픽 모니터링이지만, SNMP 변수들을 관측하는데도 사용될 수 있다. 모뎀 뱅크의 상황, 서버의 부하, 인터페이스의 에러율 등을 MRTG를 이용하여 모니터링 할 수 있다. 더 자세히 알고 싶으신 분은 패키지에 포함된 mibhelp.txt와 contrib 디렉토리의 내용을 참조하도록 하라. 처음 부분에서 소개한 MRTG 메일링 리스트에 가입한다면 더 많은 정보를 얻을 수 있다. 많은 사람들이 이런 고급 활용들에 대해 질문하고 답하는 것을 볼 수 있다. SNMP 변수들을 관측하길 원한다면 SNMP에 대한 어느 정도의 지식이 있어야 가능할 것이라고 생각된다. 이 부분에 있어서는 본 원고의 주제에서 벗어나므로 더 이상 깊게 다루지 않겠다. SNMP에 대해 더 자세히 알고 싶은 분은 아무 TCP/IP책이나 조금만 시간을 내서 보면 될 것이다. SNMP의 개념은 전혀 어려울 것이 없다. 단지 수많은 변수들의 리스트가 있을 뿐이다. SNMP의 개념을 뒷 부분에서 간략하게 설명하겠다. 필자의 시스템 상에서의 설치와 사용기 이곳에서는 필자가 MRTG 패키지를 다운로드 받기에서부터 시작해서 사용하기까지의 실제 예를 적도록 하겠다. 사용 운영체제는 Solaris 2.5 이며 GD 라이브러리는 없었고, Perl은 5.003 이전 버젼이 깔려있어서 GD라이브러리, Perl 5.003 모두 설치해야 하는 상황이었다. 1. MRTG source 패키지 다운로드 2. GD 라이브러리 설치 3. Perl 5.003 설치 4. MRTG 설치 5. cfg 화일 만들기 WorkDir: /user/kelpie/public_html 라우터의 community와 IP는 회사의 보안을 위해서 실제 값을 쓰지 않았다. 괜히 똑같이 했는데 안된다고 불평하지 마시고 자신의 시스템의 맞는 값을 쓰시길 바란다. Target[bay] : 1:xxxxx@10.1.1.254 라인이 가장 중요한데, [bay] 부분은 체크하고자 하는 타켓에 대해 사용자가 주는 이름이다. bay란것은 필자가 체크하고자 하는 라우터의 포트에 붙인 이름이다. cfg 화일을 다 만든다음 MRTG를 실행시키면 그 결과가 bay.html에 들어간다. 이 웹 페이지를 참조할때는 필자의 경우 웹 서버가 같은 호스트상에 설치되어 있었으므로, 웹 브라우져에서 http://dove.hanjin.net/~kelpie/bay.html이라고 입력하면 된다. 이런 식이다. 자신의 홈 페이지를 가지고 있지 않으신 분은 일단 PC로 html 파일을 가지고 와서 웹 브라우저에서 보면 된다. 그 다음 '1'은 체크대상 라우터의 포트 번호이다. 하나의 라우터는 여러개의 포트를 가진다. 보통 이더넷 포트와 시리얼 포트들로 구성된다. cfgmaker를 사용하여 체크하려는 포트의 번호를 알아낼 수 있다. cfgmaker의 출력 결과를 주의 깊게 들여다 보면 자신이 체크하려는 포트가 몇 번인지 알 수 있다. cfgmaker는 출력을 html문서의 포맷으로 화면에 보여준다. 그냥 화면에 보여지는 결과만으로도 충분히 내용을 파악할 수 있지만 출력 결과를 html화일로 리다이렉트하여 웹 브라우저에서 본다면 깨끗하게 볼 수 있다. 그 다음 xxxxx은 체크하고자 하는 라우터의 community이다. 이 community가 틀리면 MRTG는 실행되지 않는다. 다음 숫자 부분이 라우터의 IP 주소이다. 다른 항목들에 대해서는 mrgt.cfg-dist 화일에 아주 잘 설명이 되어 있으므로 따로 설명하지 않겠다. mrtg.cfg-dist 화일과 위의 예를 참조한다면 쉽게 자신의 cfg 화일을 만들 수 있을 것이다. 6. MRTG가 주기적으로 실행되도록 crontab에 등록한다. 등록 방법은 시스템마다 조금 틀리므로 알아서 하기 바란다. 아마 man cron, 또는 man crontab, 또는 man crond중의 하나로 사용법을 알 수 있을 것이다. 세가지 다 안되면 man -k cron으로 cron이란 말을 키워드로 하는 도움말 항목들을 볼 수 있다. 리눅스에서는 crontab[파일명] 이다. 미련한 방법인지 모르겠지만 이런 식으로 스스로 man페이지를 찾아가면서 하나하나 알아가는 것이 유닉스에 익숙해지는 한 방법이라고 생각한다. 이로서 모든 것이 끝났다. 자신의 네트워크 트래픽을 그래프로 알기 쉽게 확인한다는 것은 필자에게 있어서는 아주 즐거운 경험이었다. 괜찮은 아이템이 있으면 다시 소개하도록 하겠다.
용어설명 라우터(Router) : 서로 다른 네트워크를 연결해 주는 장비이다. 인터넷 IP 체계하에서 다른 주소대를 가지는 네트워크를 다른 네트워크라 한다. 예를 들면 203.245.11.xx 주소를 가지는 네트워크와 195.126.11.xx주소를 가지는 네트워크는 서로 다른 네트워크이다. 서로 다른 네트워크끼리 통신을 하기 위해서는 라우터가 필요하다. 이 설명은 지극히 단순화된 것이다. 프락시(Proxy) : 프락시는 대행자라는 뜻을 가지고 있다. 총체적인 개념으로는 Telnet, FTP, HTTP, Gopher 등등 많은 응용에서 프락시를 사용할 수 있지만 가장 익숙한 것을 역시 HTTP프락시일 것이다. 프락시 서버는 보안 기능, 로그 기능, 프락시 연계 기능 등 다양한 기능을 가진다. 가장 유용하면서 대표적인 기능은 캐쉬기능이다. 많은 사람들이 프락시 서버를 사용한다고 할 때, 단 한사람이 어떤 사이트에서 정보를 가지고 왔다면 그 이후에는 다른 사람이 같은 사이트를 보고자 할 떄 그 사이트까지 가는 것이 아니라 프락시 서버에서 가져오므로 빠르게 Web을 사용할 수 있다. SNMP(Simple Network Management Protocol) : 네트워크사의 장치들로부터 네트워크에 대한 정보를 모으는 기능과, 장치들이 네트워크 관리 머쉰에게 자신의 문제점을 보고 할 수 있는 기능을 제공한다. SNMP 프로토콜은 Client/Server 모델을 기반으로 한다. 각각의 네트워크 장비들은 Agent라는 Server 모듈을 가진다. 이 Agent들은 자신의 네트워크 정보를 수집한다. Client는 보통 응용 프로그램이 된다. 이 프로그램이 운영되는 머쉰이 관리 머쉰이 되는 것이다. 이 Client를 Manager라 한다. Manager를 사용하여 네트워크 관리자는 네트워크 상의 Agent들에게 정보를 요구하고 취합하여 자신의 네트워크를 관리할 수 있다. 가능한 한 최대로 축약된 설명이므로 더 자세히 알고 싶으신 분은 TCP/IP 책을 참조하길 바란다.
참고자료 |
블로그 > Big_Boss의 블로그 http://blog.naver.com/boss0425/40003038330 | |
아래글은 세노님이 쓰신 글입니다. 세노(박병석)님이 예전에 쓰신 글을 퍼옵니다..^^ 이글에 대한 저작권은 세노님한테 있습니다. ^^; 저는 첨에 이글을 보고.. 이야~! 참 기똥차다~! 라는 말이 저절로 나오더군요...ㅎㅎ --------------------------------------------------------------------------
일반적으로 EIGRP 나 BGP 에서 specific 한 어드레스를 summarization 하게 되면, 이해를 돕기 위해 하나의 예를 들어보겠습니다.
Router A 와 Router B 사이에는 BGP 가 동작한다고 가정합니다. 이런 상황에서, flapping 으로 인한 네트웍 토폴로지의 변화를 localize 함으로써 이 경우에 Router A 에는 다음과 같은 라우팅 테이블이 존재할 것입니다. - Router A - 192.168.4.0 / 24 여기서 null 0 는 summarization 과 동시에 자동으로 생성된 null interface 입니다. 그리고 Router B 에는 다음과 같은 라우팅 테이블이 존재할 것입니다. - Router B - 192.168.4.0 / 22 via Router A
먼저, Router B 의 라우팅 테이블은 변화가 없을 것입니다. flapping 이라고 보긴 하지만 Router A 의 라우팅 테이블은 어떻게 변했을까요? 192.168.4.0 / 24 여기서 바로 null interface 의 진가가 나타나는 것이지요.
행복한 주말 보내시기 바랍니다. |
블로그 > 엔시아님의 블로그 http://blog.naver.com/ncia77/120010955639 | |
가상PC의 제왕 VMware Workstation 4 오늘 필자가 소개할 소프트웨어는 VMware 라고 하는 가상PC 프로그램이다. 소개에 들어가기 전에 VMware(이하 VMware)가 제공하는 가상PC의 개념에 대해서 간단하게 짚어보도록 하자. 어떤 것이든 그 정확한 개념을 이해하고 사용한다면 쉽게 자신의 것으로 만들 수 있을 것이다. ◆ 가상PC란?
컴퓨터 프로그래머나 하드웨어 개발자. 또는 필자와 같은 강좌가 필요한 사람들은 VMware과 같은 가상PC를 사용함으로써 아주 효율적인 작업을 할 수 있으며, 전문유저가 아닌 일반유저들도 특별한 환경에서만 동작이 되는 프로그램의 설치나 운용이라던지, 기타학습이나 특정목적으로 전혀 다른 OS를 필요로 할 경우에 기존의 윈도우 환경에 전혀 영향을 미치지 않고 다른 OS를 사용할 수도 있다. 필요에 따라서는 OS를 종류별로 만들어두고 그때그때 사용할 수도 있을 것이다. 그 사용범위는 사용자들이 생각하는 것 이상이다.
◆ VMware의 주요기능
- VMware 리눅스버젼 다운로드 링크 RPM Vesion : http://download3.VMware.com/software/wkst/VMware-workstation-4.5.2-8848.i386.rpm
만일 설치 중 활성화된 CD-ROM 자동실행 기능을 발견하면, 이 기능을 비활성 시킬 옵션을 제공 하는 메시지가 출력된다. 이 기능은 VMware의 오류 및 예기치 못한 충돌을 방지하기 위해 비활성 시키는 것이 좋다. 그리고 인스톨러가 VMware 가상 이더넷(Ethernet) 어댑터 설치를 시작 하면 Digital Signature Not Found 대화상자를 여러 번 보여줄 수도 있는데, 이러한 메시지들은 무시하고 설치하여도 아무런 문제가 되지 않는다.
다음은 .vmdk 확장자를 사용할 수 있도록 기존 가상PC 파일의 명칭을 변경할 것 인지를 묻는 대화상자가 나타난다. 이것은 VMware Workstation 3 에서 소개된 것으로 이미 .vmdk 확장자를 사용하고 있거나, 이전 버젼의 VMware을 사용하지 않았다면, No 를 선택해 이 과정을 생략하자. 그리고 만일 모든 로컬 디스크를 검사하여 이 변경사항을 적용 하고 싶다면 Yes를 선택 하면 된다. FInish를 클릭하면 VMware의 설치가 완료된다.
자, 제대로 설치가 완료되었다면, 이제 VMware을 실행해보도록 하자. 실행하면 각종설정과 가상PC들을 만들고 관리하는 메인 창을 확인할 수 있다. 즉 VMware의 모든 기능을 이 화면에서 제어할 수가 있다.
▪ Select the Appropriate Configuration
새로운 가상PC 마법사를 시작하게 되면 일반설정과 사용자설정중 하나를 선택할 수 있다.
▪ Select a Guest Operating System
사용자설정을 선택하고 확인을 하면 어떤 OS를 가상PC으로 사용할지 선택할 수가 있다. OS 대분류로 크게 구분이 되며 다시 OS의 종류로 나뉘어지는데, 필자는 Microsoft Windows를 선택하고 다시 WindowsXP Professional을 선택하여 설치해보도록 하겠다.
▪ Name the Virtual Machine
가상PC의 메인 이름을 설정한다. 여러 가지 종류의 가상PC를 관리하고 있다면 메인 이름으로 이것들을 구분하고 관리할 수 있을 것이다. 물론 기본값으로 두어도 문제는 없다.
▪ Memory for the Virtual Machine
가상PC에 할당해줄 메모리 양을 정할 수 있다. 슬라이드막대로 설정을 변경할 수 있는데, 최저메모리와 최고메모리 수치를 추천해주고 있다. 각각 노랑색 삼각과 파랑색 삼각으로 표시가 되어있다. 필요한 수치만큼 조절하면 되는데 주의할 점은 너무 많이 주면 안 된다는 것이다. 현재PC의 실제 메모리중에 절반 정도를 할당해 주는 것이 좋다. 자신의 사양에 맞게 적당히 조절해주도록 하자.
▪ Network Type
VMware에서 사용할 네트워크 환경을 설정해야 한다. 바로 실제 네트워크 어댑터와 가상네트워크를 어떤 방법으로 연결할 것인가를 선택하는 것이다.
▪ Select I/O Adapter Types
입출력장치의 종류를 설정한다. 자신에게 맞는 설정을 적용하도록 하자. 선택이 어렵다면 기본값을 선택하자.
▪ Select a Disk
가상PC에서 사용할 하드디스크를 설정한다. 물론 실제 호스트PC에서는 파일로만 존재하게 되며, 그 파일을 VMware에서는 하드디스크로 인식하게 된다. 필요한 수만큼 만들 수 있으나 별문제 없다면 기본값으로 설정하도록 하자.
▪ Select a Disk Type
가상PC의 하드디스크의 타입을 설정한다. IDE방식과 SCSI 방식 중 맞는 것을 선택하자.
▪ Specify Disk Capacity
가상PC에서 사용할 하드디스크 용량을 설정한다. 기본값 4.0GB는 이 가상PC가 사용 가능한 디스크의 최대용량이다. 기본값은 가상PC의 파일용량이 추가되는 만큼 디스크의 크기가 최고 4GB이내로 변경된다.
▪ Specify Disk File
가상PC의 하드파일이 저장되는 위치를 지정한다. 이 파일만 있다면 나중에 재사용할 수도 있으니, 안전한 곳에 저장하도록 하자. 이제 마침을 누르면 OS설치를 위한 기본설정이 완료된다. 3. 가상PC실행 및 OS설치
Commands는 2가지 메뉴가 있는데,
Commands의 "Start this virtual machine" 또는 상위 툴바의 Play 버튼을 누르면 VMware의 로고와 함께 가상PC가 부팅을 시작할 것이다. 일단 실행이 되고난 뒤 가상PC의 화면을 클릭하면 키보드와 마우스의 제어가 가상PC로 옮겨가게 된다. 다시 원래 윈도우로 빠져 나오고 싶다면 " Ctrl + Alt " 키를 동시에 누르면 된다.
VMware이 시작하면 일반컴퓨터와 똑같은 초기 부팅화면을 볼수가 있는데, 여기서 VMware가 다른 가상PC 프로그램들과 뛰어난 강점이 있다. 그것은 BIOS 에뮬레이션이라는 기능으로, 가상PC에서 CMOS설정이 할 수 있는 기능이다. CMOS설정에서 할 수 있는 하드웨어 정보, 부팅순서 등을 똑같이 변경할 수 있다. 물론 가상PC 내에서의 CMOS설정은 실제 하드웨어에는 아무런 영향도 주지 않으므로 걱정할 필요없다. CMOS 바이오스를 설정하려면 시작화면에서 F2키를 누르면 되며, OS설치를 해야 한다면 부팅순서를 시디부팅으로 바꾸어주는 것이 좋을 것이다. 바이오스 재설정하고 저장 후 종료하면 자동으로 재시작된다.
자 이제 윈도우 설치CD를 넣고 부팅을 하면 멋지게 부팅이 되는 모습을 볼 수 있을 것이다. 이후는 일반적인 윈도우 설치과정과 똑같이 진행하면 된다. 해당 운영체제의 설치방법은 따로 설명하지 않겠다. (지난 큐빅웹진 기사 참조)
설치를 완료했다면 윈도우에서 또 하나의 윈도우가 실행되는 재미있는 모습을 볼 수 있을 것이다. 그리고 웬만한 장치들은 모두 VMware에서 가상하드웨어로 설정이 되어있으며, 특별한 설정 없이도 인터넷, 사운드 등을 사용할 수 있도록 준비되어있다. 이제 남은 건 어떻게 활용할 것인가 뿐이다. 4. 맺음말 VMware과 같은 가상PC 프로그램의 가장 큰 특징은, 사용자들이 사용하기에 따라 아주 다양하고 효율적인 작업을 하도록 도와주는 프로그램이라는 것이다. 필자 역시 이전의 "초보사용자를 위한 윈도우 설치와 고스트 백업 가이드"에 관한 기사를 작성하면서, 윈도우XP설치의 모든 과정을 VMware을 통해 하나하나 캡쳐하여 기사를 작성하였던 적이 있다.
|
블로그 > romu님의 大略難堪 http://blog.naver.com/romu/60011176173 | ||
네트워크 - 세계 IP 주소 분포도 224.000.000.000~224.255.255.255 미국캘리포니아대학 216.244.192.000~216.244.207.255 아르헨띠나 216.154.000.000~216.154.255.255 캐나다 216.000.000.000~216.255.255.255 미국/캐나다 214.000.000.000~215.255.255.255 미국국방부네트웍(포기니아주) 212.216.160.000~212.216.167.255 이탤리아 212.156.000.000~212.156.193.255 터키 212.020.096.000~212.020.111.255 체스코인라인 212.000.000.000~213.255.255.255 호주 211.094.000.000~211.103.255.255 중국 211.072.000.000~211.075.255.255 대만 211.032.000.000~211.051.255.255 한국 211.008.000.000~211.019.255.255 일본 211.000.000.000~211.255.255.255 아세아주 210.248.000.000~211.007.255.255 일본 210.240.000.000~210.247.255.255 대만 210.224.000.000~210.239.255.255 일본 210.216.000.000~210.223.255.255 한국 210.212.000.000~210.212.255.255 인도 210.208.000.000~210.209.063.255 대만 210.204.000.000~210.207.255.255 한국 210.200.000.000~210.200.095.255 대만 210.196.000.000~210.199.255.255 일본 210.192.000.000~210.192.255.255 대만 210.188.000.000~210.191.255.255 일본 210.178.000.000~210.184.095.255 한국 210.176.000.000~210.176.255.255 홍콩 210.128.000.000~210.175.255.255 일본 210.090.000.000~210.127.255.255 한국 210.088.000.000~210.088.191.255 일본 210.087.248.000~210.087.255.255 홍콩 210.084.000.000~210.084.255.255 호주 210.081.000.000~210.081.031.255 일본 210.072.000.000~210.079.255.255 중국 210.059.000.000~210.071.255.255 대만 210.056.000.000~210.056.031.255 파키스탄 210.048.000.000~210.055.255.255 뉴질랜드 203.133.192.000~203.133.255.255 파키스탄 203.133.000.000~203.133.063.255 대만 203.132.000.000~203.132.255.255 호주 203.131.224.000~203.131.255.255 홍콩 203.131.000.000~203.131.063.255 호주 203.130.192.000~203.130.255.255 인도네시아 203.130.000.000~203.130.063.255 파키스탄 203.129.224.000~203.129.255.255 인도 203.128.000.000~203.129.063.255 파키스탄 203.116.000.000~203.127.255.255 싱가폴 203.115.000.000~203.115.063.255 스리랑카 203.112.128.000~203.112.159.255 인도 203.112.000.000~203.112.031.255 싱가폴 203.110.128.000~203.111.255.255 호주 203.109.192.000~203.110.031.255 뉴지랜드 203.109.000.000~203.109.031.255 인도네시아 203.108.000.000~203.108.255.255 호주 203.107.000.000~203.107.063.255 대만 203.106.000.000~203.106.063.255 말레시아 203.105.000.000~203.105.063.255 홍콩 203.100.000.000~203.104.255.255 호주 203.099.255.000~203.099.255.255 서사모아 203.099.000.000~203.099.071.255 뉴질랜드 203.098.224.000~203.098.255.255 페루 203.096.000.000~203.098.063.255 뉴질랜드 203.095.128.000~203.095.255.255 대만 203.095.000.000~203.095.063.255 중국 203.094.224.000~203.094.255.255 인도 203.094.000.000~203.094.063.255 중국 203.092.224.000~203.092.255.255 호주 203.092.000.000~203.092.063.255 중국 203.090.224.000~203.090.255.255 홍콩 203.090.000.000~203.090.063.255 중국 203.089.224.000~203.089.255.255 호주 203.089.000.000~203.089.063.255 중국 203.088.064.000~203.088.255.255 호주 203.087.224.000~203.088.063.255 중국 203.087.000.000~203.087.063.255 호주 203.080.000.000~203.086.255.255 홍콩 203.079.000.000~203.079.255.255 대만 203.078.224.000~203.078.255.255 필리핀 203.078.000.000~203.078.031.255 대만 203.077.224.000~203.077.255.255 인도네시아 203.077.000.000~203.077.127.255 대만 203.076.000.000~203.076.255.255 호주 203.064.000.000~203.075.255.255 대만 203.000.000.000~203.255.255.255 아세아주 203.000.000.000~203.063.255.255 호주 202.208.000.000~202.255.255.255 일본 203.133.192.000~203.133.255.255 파키스탄 203.133.000.000~203.133.063.255 대만 203.132.000.000~203.132.255.255 호주 203.131.224.000~203.131.255.255 홍콩 203.131.000.000~203.131.063.255 호주 203.130.192.000~203.130.255.255 인도네시아 203.130.000.000~203.130.063.255 파키스탄 203.129.224.000~203.129.255.255 인도 203.128.000.000~203.129.063.255 파키스탄 203.116.000.000~203.127.255.255 싱가폴 203.115.000.000~203.115.063.255 스리랑카 203.112.128.000~203.112.159.255 인도 203.112.000.000~203.112.031.255 싱가폴 203.110.128.000~203.111.255.255 호주 203.109.192.000~203.110.031.255 뉴질랜드 203.109.000.000~203.109.031.255 인도네시야 203.108.000.000~203.108.255.255 호주 203.107.000.000~203.107.063.255 대만 203.106.000.000~203.106.063.255 말레이시아 203.105.000.000~203.105.063.255 홍콩 203.100.000.000~203.104.255.255 호주 203.099.255.000~203.099.255.255 서사모아 203.099.000.000~203.099.071.255 뉴질랜드 203.098.224.000~203.098.255.255 페루 203.096.000.000~203.098.063.255 뉴질랜드 203.095.128.000~203.095.255.255 대만 203.095.000.000~203.095.063.255 중국 203.094.224.000~203.094.255.255 인도 203.094.000.000~203.094.063.255 중국 203.092.224.000~203.092.255.255 호주 203.092.000.000~203.092.063.255 중국 203.091.064.000~203.091.255.255 호주 203.091.000.000~203.091.063.255 중국 203.090.224.000~203.090.255.255 홍콩 203.090.000.000~203.090.063.255 중국 203.089.224.000~203.089.255.255 호주 203.087.224.000~203.088.063.255 중국 203.087.000.000~203.087.063.255 호주 203.080.000.000~203.086.255.255 홍콩 203.079.000.000~203.079.255.255 대만 203.078.224.000~203.078.255.255 필리핀 203.078.000.000~203.078.031.255 대만 203.077.224.000~203.077.255.255 인도네시아 203.077.000.000~203.077.127.255 대만 203.076.000.000~203.076.255.255 호주 203.064.000.000~203.075.255.255 대만 203.000.000.000~203.255.255.255 아세아주 203.000.000.000~203.063.255.255 호주 202.208.000.000~202.255.255.255 일본 203.133.192.000~203.133.255.255 파키스탄 203.133.000.000~203.133.063.255 대만 203.132.000.000~203.132.255.255 호주 203.131.224.000~203.131.255.255 홍콩 203.131.000.000~203.131.063.255 호주 203.130.192.000~203.130.255.255 인도네시아 203.130.000.000~203.130.063.255 파키스탄 203.129.224.000~203.129.255.255 인도 203.128.000.000~203.129.063.255 파키스탄 203.116.000.000~203.127.255.255 싱가폴 203.115.000.000~203.115.063.255 스리랑카 203.112.128.000~203.112.159.255 인도 203.112.000.000~203.112.031.255 싱가폴 203.110.128.000~203.111.255.255 호주 203.109.192.000~203.110.031.255 뉴질랜드 203.109.000.000~203.109.031.255 인도네시아 203.108.000.000~203.108.255.255 호주 203.107.000.000~203.107.063.255 대만 203.106.000.000~203.106.063.255 말레이시아 203.105.000.000~203.105.063.255 홍콩 203.100.000.000~203.104.255.255 호주 203.099.255.000~203.099.255.255 서사모아 203.099.000.000~203.099.071.255 뉴질랜드 203.098.224.000~203.098.255.255 페루 203.096.000.000~203.098.063.255 뉴질랜드 203.095.128.000~203.095.255.255 대만 203.095.000.000~203.095.063.255 중국 203.094.224.000~203.094.255.255 인도 203.094.000.000~203.094.063.255 중국 203.092.224.000~203.092.255.255 호주 203.092.000.000~203.092.063.255 중국 203.091.064.000~203.091.255.255 호주 203.091.000.000~203.091.063.255 중국 203.090.224.000~203.090.255.255 홍콩 203.090.000.000~203.090.063.255 중국 203.088.064.000~203.088.255.255 호주 203.087.224.000~203.088.063.255 중국 203.088.064.000~203.088.255.255 호주 203.087.224.000~203.088.063.255 중국 203.087.000.000~203.087.063.255 호주 203.080.000.000~203.086.255.255 홍콩 203.079.000.000~203.079.255.255 대만 203.078.224.000~203.078.255.255 필리핀 203.078.000.000~203.078.031.255 대만 203.077.224.000~203.077.255.255 인도네시아 203.077.000.000~203.077.127.255 대만 203.076.000.000~203.076.255.255 호주 203.064.000.000~203.075.255.255 대만 203.000.000.000~203.255.255.255 아세아주 203.000.000.000~203.063.255.255 호주 202.208.000.000~202.255.255.255 일본 202.020.008.000~202.020.015.255 호주 202.020.000.000~202.020.007.255 뉴질랜드 202.016.000.000~202.019.255.255 일본 202.015.000.000~202.015.255.255 일본 202.014.254.000~202.014.254.255 뉴질랜드 202.014.252.000~202.014.253.255 뉴질랜드 202.014.248.000~202.014.251.255 호주 202.014.240.000~202.014.247.255 호주 202.014.239.000~202.014.239.255 호주 202.014.234.000~202.014.234.255 호주 202.014.232.000~202.014.233.255 호주 202.014.230.000~202.014.231.255 호주 202.014.229.000~202.014.229.255 호주 202.014.228.000~202.014.228.255 뉴질랜드 202.014.224.000~202.014.227.255 뉴질랜드 202.014.223.000~202.014.223.255 호주 202.014.222.000~202.014.222.255 홍콩 202.014.220.000~202.014.221.255 호주 202.014.219.000~202.014.219.255 호주 202.014.218.000~202.014.218.255 뉴질랜드 202.014.216.000~202.014.217.255 뉴질랜드 202.014.208.000~202.014.215.255 호주 202.014.192.000~202.014.207.255 호주 202.014.176.000~202.014.191.255 호주 202.014.172.000~202.014.175.255 호주 202.014.170.000~202.014.171.255 호주 202.014.169.000~202.014.169.255 호주 202.014.168.000~202.014.168.255 뉴질랜드 202.014.167.000~202.014.167.255 뉴질랜드 202.014.166.000~202.014.166.255 호주 202.014.165.000~202.014.165.255 한국 202.014.164.000~202.014.164.255 태국 202.014.162.000~202.014.163.255 태국 202.014.160.000~202.014.161.255 호주 202.014.156.000~202.014.159.255 호주 202.014.155.000~202.014.155.255 호주 202.014.154.000~202.014.154.255 싱가폴 202.014.153.000~202.014.153.255 싱가폴 202.014.152.000~202.014.152.255 호주 202.014.151.000~202.014.151.255 호주 202.014.150.000~202.014.150.255 뉴질랜드 202.014.149.000~202.014.149.255 뉴질랜드 202.014.148.000~202.014.148.255 호주 202.014.144.000~202.014.147.255 호주 202.014.143.000~202.014.143.255 호주 202.014.142.000~202.014.142.255 뉴질랜드 202.014.140.000~202.014.141.255 뉴질랜드 202.014.138.000~202.014.139.255 호주 202.014.137.000~202.014.137.255 호주 202.014.136.000~202.014.136.255 뉴질랜드 202.014.135.000~202.014.135.255 뉴질랜드 202.014.134.000~202.014.134.255 호주 202.014.132.000~202.014.133.255 호주 202.014.128.000~202.014.131.255 호주 202.014.127.000~202.014.127.255 뉴질랜드 202.014.126.000~202.014.126.255 호주 202.014.124.000~202.014.125.255 호주 202.014.120.000~202.014.123.255 호주 202.014.118.000~202.014.119.255 호주 202.014.117.000~202.014.117.255 태국 202.014.116.000~202.014.116.255 호주 202.014.114.000~202.014.115.255 뉴질랜드 202.014.112.000~202.014.113.255 호주 202.014.110.000~202.014.111.255 호주 202.014.108.000~202.014.109.255 뉴질랜드 202.014.106.000~202.014.107.255 뉴질랜드 202.014.104.000~202.014.105.255 호주 202.014.103.000~202.014.103.255 한국 202.014.102.000~202.014.102.255 뉴질랜드 202.014.101.000~202.014.101.255 호주 202.014.100.000~202.014.100.255 뉴질랜드 202.014.096.000~202.014.099.255 뉴잴랜드 202.014.095.000~202.014.095.255 호주 202.014.094.000~202.014.094.255 태국 202.014.092.000~202.014.093.255 태국 202.014.090.000~202.014.091.255 태국 202.014.089.000~202.014.089.255 호주 202.014.084.000~202.014.084.255 뉴질랜드 202.014.082.000~202.014.083.255 뉴질랜드 202.014.081.000~202.014.081.255 호주 202.014.080.000~202.014.080.255 홍콩 202.014.076.000~202.014.079.255 호주 202.014.074.000~202.014.075.255 뉴질랜드 202.014.073.000~202.014.073.255 뉴질랜드 202.014.068.000~202.014.068.255 홍콩 202.014.067.000~202.014.067.255 홍콩 202.014.066.000~202.014.066.255 호주 202.014.064.000~202.014.065.255 호주 202.014.032.000~202.014.063.255 뉴질랜드 202.014.016.000~202.014.031.255 뉴질랜드 202.014.008.000~202.014.015.255 대만 202.014.000.000~202.014.007.255 호주 202.013.254.000~202.013.254.255 일본 202.013.252.000~202.013.253.255 일본 202.013.248.000~202.013.251.255 일본 202.013.240.000~202.013.247.255 일본 202.013.224.000~202.013.239.255 일본 202.013.192.000~202.013.223.255 일본 202.013.128.000~202.013.191.255 일본 202.013.000.000~202.013.127.255 일본 202.012.242.000~202.012.242.255 호주 202.012.240.000~202.012.241.255 호주 202.012.224.000~202.012.239.255 호주 202.012.192.000~202.012.223.255 호주 202.012.128.000~202.012.191.255 호주 202.012.126.000~202.012.127.255 호주 202.012.125.000~202.012.125.255 호주 202.012.124.000~202.012.124.255 뉴질랜드 202.012.122.000~202.012.123.255 뉴질랜드 202.012.120.000~202.012.121.255 호주 202.012.119.000~202.012.119.255 호주 202.012.116.000~202.012.116.255 태국 202.012.112.000~202.012.115.255 호주 202.012.110.000~202.012.111.255 호주 202.012.109.000~202.012.109.255 호주 202.012.108.000~202.012.108.255 뉴질랜드 202.012.106.000~202.012.107.255 호주 202.012.104.000~202.012.105.255 뉴질랜드 202.012.102.000~202.012.103.255 뉴질랜드 202.012.101.000~202.012.101.255 뉴질랜드 202.012.100.000~202.012.100.255 호주 202.012.098.000~202.012.099.255 호주 202.012.097.000~202.012.097.255 태국 202.012.096.000~202.012.096.255 뉴질랜드 202.012.094.000~202.012.095.255 싱가폴 202.012.092.000~202.012.093.255 호주 202.012.091.000~202.012.091.255 뉴질랜드 202.012.090.000~202.012.090.255 호주 202.012.088.000~202.012.089.255 호주 202.012.086.000~202.012.087.255 호주 202.012.084.000~202.012.085.255 뉴질랜드 202.012.080.000~202.012.083.255 뉴질랜드 202.012.076.000~202.012.079.255 뉴질랜드 202.012.075.000~202.012.075.255 호주 202.012.074.000~202.012.074.255 태국 202.012.073.000~202.012.073.255 태국 202.012.072.000~202.012.072.255 호주 202.012.071.000~202.012.071.255 호주 202.012.070.000~202.012.070.255 뉴질랜드 202.012.068.000~202.012.069.255 호주 202.012.064.000~202.012.067.255 호주 202.012.032.000~202.012.063.255 호주 202.012.028.000~202.012.031.255 APNIC 202.012.027.000~202.012.027.255 APNIC 202.012.026.000~202.012.026.255 문라이달루살란 202.012.024.000~202.012.025.255 호주 202.012.022.000~202.012.023.255 호주 202.012.020.000~202.012.021.255 APNIC 202.012.019.000~202.012.019.255 APNIC 202.012.018.000~202.012.018.255 필리핀 202.012.017.000~202.012.017.255 필리핀 202.012.008.000~202.012.015.255 일본 202.012.004.000~202.012.007.255 홍콩 202.012.003.000~202.012.003.255 뉴질랜드 202.012.002.000~202.012.002.255 싱가폴 202.012.001.000~202.012.001.255 호주 202.012.000.000~202.012.000.255 뉴질랜드 202.011.000.000~202.011.255.255 일본 202.010.000.000~202.010.255.255 호주 202.009.224.000~202.009.255.255 호주 202.009.128.000~202.009.159.255 인도 202.009.064.000~202.009.095.255 말레이시아 202.009.000.000~202.009.015.255 호주 202.008.224.000~202.008.255.255 필리핀 202.008.128.000~202.008.159.255 APNIC 202.008.096.000~202.008.127.255 호주 202.008.094.000~202.008.095.255 싱가폴 202.008.072.000~202.008.075.255 태국 202.008.064.000~202.008.071.255 태국 202.008.032.000~202.008.039.255 호주 202.008.016.000~202.008.031.255 호주 202.008.012.000~202.008.012.255 뉴질랜드 202.008.008.000~202.008.011.255 뉴질랜드 202.008.004.000~202.008.005.255 싱가폴 202.008.000.000~202.008.003.255 싱가폴 202.007.224.000~202.007.255.255 호주 202.007.128.000~202.007.159.255 홍콩 202.007.032.000~202.007.063.255 뉴질랜드 202.007.008.000~202.007.015.255 호주 202.007.004.000~202.007.007.255 뉴질랜드 202.007.000.000~202.007.003.255 APNIC 202.006.128.000~202.006.255.255 APNIC 202.006.112.000~202.006.115.255 호주 202.006.111.000~202.006.111.255 태국 202.006.110.000~202.006.110.255 뉴질랜드 202.006.109.000~202.006.109.255 뉴질랜드 202.006.108.000~202.006.108.255 호주 202.006.107.000~202.006.107.255 태국 202.006.106.000~202.006.106.255 호주 202.006.103.000~202.006.103.255 일본 202.006.102.000~202.006.102.255 싱가폴 202.006.100.000~202.006.101.255 태국 202.006.098.000~202.006.098.255 일본 202.006.095.000~202.006.095.255 한국 202.006.093.000~202.006.093.255 싱가폴 202.006.091.000~202.006.092.255 호주 202.006.090.000~202.006.090.255 태국 202.006.088.000~202.006.089.255 APNIC 202.006.084.000~202.006.087.255 뉴질랜드 202.006.008.000~202.006.083.255 호주 202.006.005.000~202.006.007.255 뉴질랜드 202.006.003.000~202.006.004.255 호주 202.005.224.000~202.005.255.255 대만 202.005.128.000~202.005.159.255 파키스탄 202.005.096.000~202.005.127.255 호주 202.005.032.000~202.005.063.255 니까라과 202.005.000.000~202.005.031.255 호주 202.004.159.000~202.004.223.255 홍콩 202.004.096.000~202.004.127.255 니까라과 202.004.032.000~202.004.063.255 서사모아 202.004.016.000~202.004.024.255 뉴질랜드 202.004.000.000~202.004.015.255 필리핀 202.003.128.000~202.003.255.255 발서블리니시아 202.003.096.000~202.003.127.255 인도네시아 202.003.016.000~202.003.031.255 뉴질랜드 202.003.000.000~202.003.015.255 호주 202.002.128.000~202.002.255.255 APNIC 202.002.064.000~202.002.095.255 홍콩 202.002.052.000~202.002.055.255 대만 202.002.032.000~202.002.051.255 홍콩 202.002.016.000~202.002.031.255 호주 202.002.008.000~202.002.015.255 뉴질랜드 202.002.004.000~202.002.007.255 뉴질랜드 202.002.000.000~202.002.003.255 호주 202.001.240.000~202.001.255.255 바부신기네아(?) 202.001.224.000~202.001.231.255 호주 202.001.192.000~202.001.223.255 마얼태브(?) 202.001.160.000~202.001.191.255 솔로몬군도(?) 202.001.064.000~202.001.159.255 싱가폴 202.001.032.000~202.001.063.255 바부신기네아(?) 202.001.016.000~202.001.031.255 호주 202.001.008.000~202.001.015.255 뉴질랜드 202.001.006.000~202.001.007.255 홍콩 202.001.000.000~202.001.004.255 호주 202.000.192.000~202.000.255.255 미국 202.000.188.000~202.000.191.255 프랑스 202.000.180.000~202.000.183.255 홍콩 202.000.160.000~202.000.179.255 홍콩 202.000.156.000~202.000.159.255 뉴갈레도니아(?) 202.000.154.000~202.000.154.255 호주 202.000.153.000~202.000.153.255 뉴질랜드 202.000.152.000~202.000.152.255 싱가폴 202.000.151.000~202.000.151.255 뉴질랜드 202.000.149.000~202.000.150.255 싱가폴 202.000.148.000~202.000.148.255 호주North Ryde 202.000.128.000~202.000.147.255 홍콩 202.000.127.000~202.000.127.255 싱가폴 202.000.124.000~202.000.125.255 뉴질랜드 202.000.122.000~202.000.123.255 홍콩 202.000.121.000~202.000.121.255 뉴질랜드 202.000.117.000~202.000.120.255 태국 202.000.116.000~202.000.116.255 인도네시아 202.000.113.000~202.000.115.255 호주 202.000.112.000~202.000.112.255 홍콩 202.000.111.000~202.000.111.255 태국 202.000.110.000~202.000.110.255 중국계획설계중심(CPDC) 202.000.105.000~202.000.109.255 호주 202.000.104.000~202.000.104.255 홍콩 202.000.103.000~202.000.103.255 인도네시아 202.000.101.000~202.000.102.255 호주 202.000.100.000~202.000.100.255 홍콩 202.000.098.000~202.000.099.255 호주 202.000.097.000~202.000.097.255 뉴질랜드 202.000.095.000~202.000.096.255 호주 202.000.094.000~202.000.094.255 말레이시아 202.000.093.000~202.000.093.255 일본 202.000.090.000~202.000.092.255 호주 202.000.088.000~202.000.089.255 싱가폴 202.000.085.000~202.000.087.255 호주 202.000.084.000~202.000.084.255 뉴질랜드 202.000.083.000~202.000.083.255 호주East Maitland 202.000.082.000~202.000.083.255 호주 202.000.081.000~202.000.081.255 인도네시아 202.000.080.000~202.000.080.255 바부신기네아(?) 202.000.079.000~202.000.079.255 태국 202.000.077.000~202.000.078.255 홍콩 202.000.076.000~202.000.076.255 일본 202.000.074.000~202.000.075.255 호주 202.000.072.000~202.000.073.255 일본 202.000.071.000~202.000.071.255 싱가폴 202.000.067.000~202.000.070.255 호주 202.000.065.000~202.000.066.255 일본 202.000.064.000~202.000.064.255 호주 202.000.032.000~202.000.063.255 뉴질랜드 202.000.016.000~202.000.031.255 필리핀 202.000.011.000~202.000.015.255 호주 202.000.010.000~202.000.010.255 뉴질랜드 202.000.000.000~203.255.255.255 아세아주 202.000.000.000~202.000.009.255 호주 201.000.000.000~201.255.255.000 미국중부/남부(IANA) 200.000.000.000~200.255.255.000 미국중부/남부 199.107.119.000~199.107.119.255 대만디스니서비스회사 199.000.000.000~199.255.255.000 미국/카나다 198.112.169.000~198.112.169.255 홍콩 198.000.000.000~198.255.255.000 미국 197.000.000.000~197.255.255.000 미국중부/남부(IANA) 196.000.000.000~196.255.255.000 남아프리카/갈리버해 195.242.064.000~195.242.079.255 프랑스파리 195.163.072.000~195.163.079.255 네델란드 195.153.000.000~195.153.255.255 영국 195.146.128.000~195.146.143.255 슬로벤스코전신국 195.112.176.000~195.112.176.003 대만펠리프회사 195.082.192.000~195.082.223.255 단마르크 194.117.103.132~194.117.103.132 대만Scino Pharm 194.117.103.087~194.117.103.087 대만펠리프회사 194.117.103.025~194.117.103.025 대만Semiconductor Manufacturing 194.117.103.017~194.117.103.017 대만Hoechst회사 194.117.103.011~194.117.103.011 대만펠리프회사 193.194.160.000~193.194.191.255 기네 193.193.199.000~193.193.199.255 우크란Uzhgorod Trans Com Ltd. 193.193.193.000~193.193.199.255 우크란지프 193.166.000.000~193.166.255.255 핀란드 193.000.000.000~195.255.255.000 유럽 192.245.208.000~192.245.208.255 홍콩 192.207.091.000~192.207.091.255 홍콩 192.203.232.000~192.203.232.255 홍콩 192.203.041.000~192.203.041.255 싱가폴 192.188.175.000~192.188.175.255 인도네시아Oracle Systems Indonesia 192.188.174.000~192.188.174.255 Oracle Systems Philippines 192.188.173.000~192.188.173.255 Oracle Systems Puerto Rico 192.188.172.000~192.188.172.255 태국Oracle Systems Thailand 192.188.171.000~192.188.171.255 대만Oracle Systems Taiwan 192.188.170.000~192.188.170.255 중국Oracle China,Inc. 171.208.000.000~171.220.255.255 미국DAHA-AOL사용자 169.208.000.000~169.223.255.255 아세아주 168.122.000.000~168.122.255.255 미국포스턴대학 167.216.000.000~167.216.255.255 홍콩 165.021.000.000~165.021.255.255 싱가폴 162.042.000.000~162.042.255.255 미국아리조나주 161.207.000.000~161.207.255.255 중국석유회사 161.142.048.000~161.142.048.255 말레시아Kuala Lumpur 161.142.000.000~161.142.255.255 말레시아 161.064.000.000~161.064.255.255 홍콩 161.053.000.000~161.053.255.255 유고슬라비아그루지아사그레쁘전산대학 159.226.001.000~159.226.003.255 중국CNNIC,중국인터넷정보쎈터 159.226.000.000~159.226.255.255 중국과학원 158.182.000.000~158.182.255.255 홍콩 158.132.000.000~158.132.255.255 홍콩 155.069.000.000~155.069.255.255 싱가폴NANYANG회사 154.005.000.000~154.005.255.255 카나다 152.000.000.000~152.255.255.255 미국 149.099.133.000~149.099.133.255 카나다Seneca College대학 147.008.000.000~147.008.255.255 홍콩 144.214.000.000~144.214.255.255 홍콩 144.092.000.000~144.092.255.255 미국위스콘신주립대학 143.089.000.000~143.089.255.255 홍콩 140.109.000.000~140.138.255.255 대만 140.096.000.000~140.096.255.255 대만 140.092.000.000~140.092.255.255 대만 139.175.000.000~139.175.255.255 대만 139.165.000.000~139.165.255.255 벨기에 138.077.000.000~138.077.255.255 호주중켄도주립대학 137.189.000.000~137.189.255.255 홍콩 137.132.000.000~137.132.255.255 싱가폴 134.208.000.000~134.208.255.255 대만 133.223.000.000~139.223.255.255 대만 132.246.027.000~132.246.027.255 북경교육망 131.246.000.000~131.246.255.255 독일캑서스로등대학 131.230.000.000~131.230.255.255 미국일렐이주남부대학 131.107.003.000~131.107.003.255 Microsoft일본회사 131.107.000.000~131.107.255.255 Microsoft회사 130.039.000.000~130.039.255.255 미국루이스안나주립대학 129.070.000.000~129.070.255.255 독일바등-부텡보주대학 129.069.000.000~129.069.255.255 독일스투가테대학 064.000.000.000~126.255.255.255 보류주소 063.000.000.000~063.255.255.255 미국NIC등록기구 062.000.000.000~062.255.255.255 유럽NIC등록기구 061.008.000.000~061.008.031.255 호주 061.000.000.000~061.255.255.255 아세아주/태평양NIC인터넷관리센터 058.000.000.000~060.255.255.255 보류주소 057.000.000.000~057.255.255.255 프랑스국제항공통신협회 056.000.000.000~056.255.255.255 미국북칼레로나(미국우체국) 055.000.000.000~055.255.255.255 미국포기니아(미국육군부대) 054.000.000.000~054.255.255.255 미국뉴젤시주(Merck公司) 053.000.000.000~053.255.255.255 독일벤치자동차 052.000.000.000~052.255.255.255 미국데라워주dupont公司 051.000.000.000~051.255.255.255 영국사회보험안전부 049.000.000.000~050.255.255.255 미국알렉상나주JITCNET 048.000.000.000~048.255.255.255 미국뉴욕(Prudential Securities Inc) 047.000.000.000~047.255.255.255 카나다Bell실험실 024.192.000.000~024.195.255.255 아세아주 010.199.000.000~010.253.255.255 홍콩169사용자 |
블로그 > 관리 거의 안함..ㅡㅡ;; http://blog.naver.com/tz1977/60001190676 | |
Snort란? snort는 실시간 트래픽 분석과 IP 네트워크 상에서 패킷 로깅이 가능한 가벼운(lightweight) 네트워크 침입탐지시스템이다. snort는 프로토콜 분석, 내용 검색/매칭을 수행할 수 있으며 오버플로우, Stealth 포트스캔, CGI 공격, SMB 탐색, OS 확인 시도 등의 다양한 공격과 스캔을 탐지할 수 있다. 테스트서버: OS ; RedHat Linux 9.0 1. 필요한 파일이 2개 또는 3개 일 수 있다. 1) snort-2.1.0.tar.gz : www.snort.org에서 최신버젼을 받을 수 있다. 2) libpcap-0.7.2-1.i386.rpm : Linux9.0시디에서 구했다... www.rpmfind.com에서도 구할 수 있다. 3) pcre-4.5.tar.gz : ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 에서 구할 수 있다. 2. pcre는 이미 설치되어 있을 수도 있으니..이 파일은 snort를 configure할때 에러가 난다면(없으믄 에러..ㅡㅡ;;) 다운 받자. 3. 이제 설치해보도록 한다. 1) 적당한 위치에 파일들을 옮긴 후 그 위치로 이동한다. mv ./snort-2.1.0.tar.gz /usr/local/src mv ./libpcap-* /usr/local/src mv ./pcre-* /usr/local/src cd /usr/local/src 2) libpcap을 설치한다. rpm -Uvh libpcap-0.7.2-1.i386.rpm 3) snort의 압축을 해제 후, 디렉토리 통째로 이동시킨다. 그 후 해당 디렉토리로 이동. tar xvfz snort-2.1.0.tar.gz mv snort-2.1.0 /usr/local/snort cd /usr/local/snort 4) configure , make , make install을 한번에 한다. ./configure && make && make install * 팁1: &&와 ;의 차이점 --> &&로 명령어를 묶을경우 에러가 나면 실행을 중지하지만, ;로 묶을경우 무시하고 설치한다. 5) 만약 여기서 에러가 난다면(pcre에러) pcre를 설치해야한다. pcre의 설치는 간단하므로 간략하게만 설명한다. 압축해제 -> configure -> make -> make install tar xvfz pcre-4.5.tar.gz -> cd pcre-4.5 -> ./configure && make && make install 6) snort의 설치가 4)번처럼 잘 되었다면 로그 기록을 위한 설정이 필요하다. A) 로그기록을 위한 디렉토리 설정 ㄱ) mkdir /var/log/snort ㄴ) chmod 700 /var/log/snort B) /usr/local/snort/etc/snort.conf 파일의 환경설정 ㄱ) var HOME_NET 의 IP부분을 any -> 자기서버IP로 변경해준다. ㄴ) include $RULE_PATH/web-iis.rules 부분은 IIS를 위한 설정이므로, 주석처리한다. (#) 4. 이제 실행해보자. /usr/local/snort/src/snort -l /var/log/snort -A fast -c /usr/local/snort/etc/snort.conf -D -N 명령어 설명 : ( 이부분은 phpschool에서 참조... ) 참조시작 { -l 은 로그 디렉토리 설정 부분이고 -c 는 설정파일 부분이고 -A 는 로그기록을 어떻게 할꺼냐 .. full,none,fast 세가지가 있습니다. -D 는 데몬으로 동작한다는것이고 -N 은 로그를 남기지 않고 경고메시지만 남긴다는 의미입니다. ※. -N 옵션을 주지 않으면 서버에 접근하는 아이피를 디렉토리로 만들어서 로그가 남게 된다.(조심) snort 실행 옵션은 아래와 같습니다. -A Set alert mode: fast, full, or none (alert file alerts only) -a Display ARP packets -b Log packets in tcpdump format (much faster!) -c <rules> Use Rules File <rules> -C Print out payloads with character data only (no hex) -d Dump the Application Layer -D Run Snort in background (daemon) mode -e Display the second layer header info -F <bpf> Read BPF filters from file <bpf> -g <gname> Run snort gid as <gname> group (or gid) after initialization -h <hn> Home network = <hn> -i <if> Listen on interface <if> -I Add Interface name to alert output -l <ld> Log to directory <ld> -n <cnt> Exit after receiving <cnt> packets -N Turn off logging (alerts still work) -o Change the rule testing order to Pass|Alert|Log -O Obfuscate the logged IP addresses -p Disable promiscuous mode sniffing -P <snap> set explicit snaplen of packet (default: 1514) -q Quiet. Don't show banner and status report -r <tf> Read and process tcpdump file <tf> -s Log alert messages to syslog -S <n=v> Set rules file variable n equal to value v -t <dir> Chroots process to <dir> after initialization -u <uname> Run snort uid as <uname> user (or uid) after initialization -v Be verbose -V Show version number -X Dump the raw packet data starting at the link layer rule 파일은 http://www.snort.org/downloads/snortrules.tar.gz 에서 받으시면 되고 rule 에 대한 자세한 설명은 http://www.snort.org/cgi-bin/done.cgi 에서 확인 하실 수 있습니다. } 참조 끝 5. snort에 의한 로그파일은 /var/log/snort에 쌓이게된다. ( alert ) |
블로그 > faceuptoit님의 블로그 http://blog.naver.com/faceuptoit/100004435796 | |
1.배치파일(Batch File, 일괄처리용 화일) 1.1. 배치파일? ① 확장자 이름은 반드시 'BAT'이어야 한다. ④ 명령어 이름이 서로 같아 충돌할 때, DOS는 도스키-->내부명령-->외부명령( *.COM-->*.EXE)-->*.BAT) 순으로 실행한다. 다만 '파일명.BAT'라고 확장자 이름까지 써서 명령을 내리면 이런 문제는 해결된다. ⑤ BAT파일은 표준 ASCII 문장(Text) 파일이어야 한다.
① COPY명령사용 .... C:\>COPY CON XXXX.BAT
<설명1> COPY 명령을 사용하여 텍스트 파일 만드는 방법을 이용한다. 입력한 배치 내용을 보면 줄을 바꿀 때는 항상 엔터하면 된다. 끝낼 때는 언제나 Ctrl+Z 또는 F6키를 누르고 엔터하면 1개 파일이 복사되었다는 메시지가 나오면서 C루트에 SAMPLE.BAT란 파일이 1개 생긴다. <실행> C:\>SAMPLE <엔터>하면 배치파일 내용 순서데로 명령을 실행한다. ----- 작성 예②) C:\>EDIT <엔터> 도스 편집기 화면이 뜬다. 이때 ESC키를 한번 눌러 메시지 상자를 제거하고 깨끗한 화면에다 첫째 줄부터 입력하되, 줄을 바꿀 때는 엔터한다. CLS 끝내려고 저장글쇠(@F,S)를 누르면 파일이름을 써넣으라고 상자자 나온다. SAMPLE.BAT라고 입력하고 <엔터>하여 저장한 후, 에디트를 끝(@F, X)낸다.그러면 C루트 디렉토리에 SAMPLE.BAT 라는 배치파일이 생긴다. <실행> C:\>SAMPLE <엔터>하면 C루트에 있는 SAMPLE.BAT 파일이 실행된다. ******* 배치파일 내용에 파일스펙 경로명을 쓸 때 주의점.**** ⓐ 배치파일 내용 중에 현재 도스 작업방을 바꾸지 말고 C:\GAME\SUPER\ 방에있는 SUPER.EXE를 실행하라는 뜻이기 때문에 경우에 따라서는 실행이 되지 않는다. ⓑ 배치 내용을 아래와 같이 하면 틀림없이 실행하게 된다. 현재 도스작업방이 먼저 C드라이브로 바뀌고,절대경로명 CD\GAME\SUPER
① 일반적인 도스명령를 그대로 사용한다. CLS COPY DEL DIR DATE TIME PAYH PROMPT CHKDSK 등등. ② 배치에만 사용하는 전용 명령가 있다.
ⓑ PAUSE 배치실행을 중단하려면 Ctrl+C키를 누른다. 그러면 화면에 ⓒ ECHO 명령 ECHO ON ECHO OFF ECHO
TB PAUSE CLS ECHO 'This is Hangul Edit.' PAUSE REM 다음에 오는 설명은 화면에 나오지 않는다. 다만 ECHO ON EDIT @ECHO OFF 이후에 실행되는 명령어는 화면에 나타나지 않는다. TB/U CLS 1 File(s) Copied 실습을 위하여 일부러 여러가지 명령 종류를 써 보았으며,한글로 설 명을 하느라고 줄이 떨어졌으나 각자 실습할 때는 영문글자 부분만 쓰고 엔터하여 줄울 바꾸고 줄간격을 붙여가며 쓴다. <실행 예> C:\>EDIT2 <엔터> 하면 위의 내용을 순서데로 실행하고 도스 문서편집기가 화면에 나타난다. 문서작성기를 끝내면 한글프로그램을 메모리에서 제거하고 도스로 나온다. (계속) 제14장 배치파일 #2 (계속) 1.4 배치파일 전용 명령에서 앞에서 공부한 배치파일의 경우는 입력된 명령어들의 순서데로 실행되었었지만, 판단과 분기의 명령들은 명령어의 실행의 흐름을 사용자가 임의로 변경,지정할 수있어 배치파일의 기능을 보다 강력하게 한다. 분기 명령..배치파일의 순차적 수행을 필요에 따라 변경할 때 사용하며 조건분기(Conditional Branching).......IF명령 무조건분기(Unconditional Branching)...GOTO명령 ① CALL [배치파일 인자] 배치파일 실행 중 다른 배치파일을 도중에 호출하여 실행시키고 다시 <예> H1.BAT의 내용이 'DIR C:\ > A:MDIRLIST.TXT' ( C루트의 파일목 C:\>COPY CON H2.BAT <실행> C:\>H2 엔터하면 H1.BAT란 배치파일을 불러(CALL) 실행하여 MDIRLIST.TXT 파일을 A드라이브에 만든 후, 다시 H2.BAT 파일로 돌아와서 A드라이브의 'MDIRLIST.TXT' 파일을 화면에 타이프해 보인다.
주어진 조건에 따라 명령을 선별적으로 선택.실행케 하는 명령이다. IF EXIST [파일이름] [명령] IF NOT EXIT [파일이름] [명령] <예> IF EXIST *.BAK DEL *.BAK
<예> C:\>COPY CON TEST1.BAT <실행> C:\>TEST1 A 엔터하면 화면에 TESTING A 라고 표시한다. IF [NOT] ERRORLEVEL [값] [명령] 종료코드를 발생하는 명령어(FORMAT,XCOPY,COPY,BACKUP,RESTORE 등 일 예> C:\>COPY CON XY.BAT 실행> C:\>XY *.* 엔터하면 성공적 수행여부에 따라 'FAILED !' 또는 ③ GOTO [레이블이름] <예> 현재 디렉토리에 *.HWP 파일을 C:\HNCDOC 디렉토리로 옮겨주는 C:\>COPY CON HWPMV.BAT 실행> C:\>HWPMV 엔터하면 C루트 디렉토리에 있는 모든 HWP 파일을 C:\HNCDOC 디렉토리로 옮기고 'HWP 파일을 모두 옮겼다'는 메시지를 화면에 보이고 END(끝) 레이블로 와서 도스상태로 빠저나 온다. 옮길 HWP 파일이 없으면 ' HWP 파일을 찾지 못했다'는 메시지가 나오고 끝(END) 낸다. GOTO 문에서는 항상 END 레이블로 배치를 끝낸다. 배치 안에서 COPY,XCOPY,MOVE 명령은 /-Y 스위치를 써야 만이 목적지에 같은 이름의 파일이 있을 경우 덮어 쓸지여부를 확인하는 메시지를 출력한다. ④ 의사변수(Dummy Variables 가상의 변수) 바꿔 쓸 수 있는 인자(Replaceable Parameter)를 의사변수라 하며, 형식> C:\>명령어 파일1 파일2 " " " " " " 파일9 작성예1> C:\>COPY CON DIRALL.BAT 실행예> C:\>DIRALL A: B: (엔터) 설명> 위 '실행 예'에서 명령어 DIRALL(.BAT)은 %0, A:은 %1, B:은 %2 에 해당하므로 '작성예1'의 내용 중 %1,%2,%0에 대입하여 명령을 수행한 결과가 화면에 나오게 된다. 즉 화면에는 'DIR A:'과, 'DIR B:'이 차례로 출력되고 멈췄다가 'DIRALL.BAT' 파일 내용이 출력된다.
실행예> C:\>EDIT2 SAMPLE.TXT (엔터) 설명> 위 '실행예'에서 명령어(EDIT2.BAT)는 %0, 파일1(SAMPLE.TXT)은 %1 에 해당하므로, '작성예2'의 배치파일 내용중 %1 대신에 SAMPLE.TXT라는 텍스트 파일이 대입된다. 화면은 한글을 읽고 쓸 수 있도록 태백한글을 메모리에 상주시킨다. 편집기는 SAMPLE.TXT 라는 파일을 읽어 화면에 띄워 수정.삽입 등 편집하고 저장할 수 있다. 편집을 끝내면 한글코드가 메모리에서 제거된다.
쉬프트는 옮김,변위를 의미하는 데 10개 이상의 대체 인자(Replaceable 작성예> 지정한 문장(text) 파일들을 차례로 TYPE시키는 배치파일 예. A:\>COPY CON TELLME.BAT 실행예> A:\>TELLME AAA.TXT BBB.TXT CCC.TXT ......... 엔터 설명> 위 '실행예'의 텍스트 파일명은 특정해야 하며 Wildcard문자(*,?)는 사용할 수 없다. 지정된 여러 파일들에 %1 변수가 차례로 SHIFT(변위)되면서 파일을 대입시켜 내용을 출력한다. 지정된 파일이 모두 옮겨 대입되고 나면 배치파일이 끝나게 된다. 배치파일 내용 중 GOTO 명령에서 BEGIN 레이블로 가서 다시 시작하게하는 것을 LOOP(고리)라고 한다.
형식) FOR %%변수 IN (셋트 파라미터) DO [명령어] %%변수 '(셋트 파라미터)'는 일련의 많은 갯수의 파일들을 말하고, '%%변수'는 SET에 명시된 각 파일에 순차적으로 설정되어 명령을 실행하는 대입변수이다. 셋트 파라미터에 와일드카드문자(*,?)를 사용할 수 있다. 작성예> 확장명이 BAT,DOC,TXT,CAP인 문장 파일 모두를 차례로 화면에 출력(TYPE)되게 배치파일을 만들어 보자. C:\> COPY CON TYPEALL.BAT <실행> C:\>TYPEALL C:\MDIR\*.BAT 엔터 (*.BAT, *.DOC, *.TXT, *.CAP 중에서 한 종류 파일만 지정한다.) 위 TYPEALL.BAT 파일을 실행할 때는 파일스펙(경로특정)이 있어야 한다.
일반배치파일 만들기와 동일하며 다만 이름만 AUTOEXEC.BAT로 한다. 컴퓨터를 구입할 때 이미 작성되어 있으므로 그 내용만 자기 필요에 따라 변경하면 될 것이다. 만약을 위해 원본 파일을 다른 곳에 백업해 놓고 필요시 다시 복사하면 좋을 것이다. <작성예> C:\>COPY CON AUTOEXEC.BAT ① 컴퓨터가 부팅할 때 DOS 시스템 프로그램을 메모리에 상주시킨 후 출처 : http://www.jungdaun.net/pc/dos/dos19.htm |
Classless Inter-Domain Routing (CIDR) Overview
제가 설명능력이 부족한 관계로 웹사이트를 긁었는뎅...영문사이트네요..부분부분 허접해석 달겠습니다..
What Is CIDR? CIDR 이 모냥?
CIDR is a new addressing scheme for the Internet which allows for more efficient allocation of IP addresses than the old Class A, B, and C address scheme.
CIDR 은 A,B,C Class 와 같은 오래된 주소체계보다 더 충분한 IP 주소들을 할당할 수 있는 새로운 주소할당 방법이다.
Why Do We Need CIDR? CIDR 이 왜 필요하징?
With a new network being connected to the Internet every 30 minutes the Internet was faced with two critical problems:
세상이 좋아져서 새로운 네트웍이 빠르게 증가하면서 인터넷은 두가지 큰 문제에 직면하게 된당...(의역 ㅡㅡ;;)
- Running out of IP addresses : IP 주소의 고갈
- Running out of capacity in the global routing tables : 공인 라우팅 테이블에서의 수용력 고갈
There is a maximum number of networks and hosts that can be assigned unique addresses using the Internet's 32-bit long addresses. Traditionally, the Internet assigned "classes" of addresses: Class A, Class B and Class C were the most common. Each address had two parts: one part to identify a unique network and the second part to identify a unique host in that network. Another way the old Class A, B, and C addresses were identified was by looking at the first 8 bits of the address and converting it to its decimal equivalent.
Using the old Class A, B, and C addressing scheme the Internet could support the following: A,B,C Class 주소 체계를 사용하면 인터넷상에서 다음과 같은 네트워크들을 지원하게 됩니다. (Some addresses are reserved for broadcast messages, etc.). Because Internet addresses were generally only assigned in ( 몇몇 주소들은 Broadcast 나 Multicast, VRRP Message 등의 용도로 예약되어있음) 인터넷 주소가 일반적으로 오직 3개의 사이즈 these three sizes, there was a lot of wasted addresses. For example, if you needed 100 addresses you would be assigned the ( A,B,C Class ) 로만 할당되어있기 때문에 주소의 낭비가 많다. 왜냐하면, 만약 당신이 100개의 주소를 필요로 할 경우 가장 작은 smallest address (Class C), but that still meant 154 unused addresses. The overall result was that while the Internet was C Class 의 주소를 사용하게 되겠지만 이 경우 154 개의 주소가 남겨지므로 낭비이당. 위와 같은 현상 때문에 인터넷 상에서 사용하지 running out of unassigned addresses, only 3% of the assigned addresses were actually being used. CIDR was developed to be 않는 주소로 인항 주소의 고갈이 생기게 되었고 오직 3%의 할당된 주소들만이 사용되게 되었다. CIDR 은 더욱 충분한 주소를 효과적으로 a much more efficient method of assigning addresses. 할당하기 위해 개발된 방법이다. Global Routing Tables At Capacity 전체 라우팅 테이블 용량 A related problem was the sheer size of the Internet global routing tables. As the number of networks on the Internet increased, 관련된 문제로 인터넷 전체 라우팅 테이블의 사이즈의 크기가 있다. 인터넷상에서 네트워크의 수가 증가하게 되면서 그 경로의 수도 so did the number of routes. A few years back it was forecasted that the global backbone Internet routers were fast approaching 증가하게 되었다. 몇년 되지 않아서 전세계 인터넷 백본 라우터들은 각 장비가 지원할 수 있는 라우팅 경로의 한계에 도달하게 되었다. their limit on the number of routes they could support. Even using the latest router technology, the maximum theoretical routing table size is approximately 60,000 routing table entries. If 비록 최근의 라우터 기술을 이용할지라도 이론적으로 라우팅 테이블 엔트리의 수는 최대 6만개에 이른다. 만약 nothing was done the global routing tables would have reached capacity by mid-1994 and all Internet growth would be halted. 전체 라우팅 테이블에 대해 아무런 것도 하지 않고 방치하였다면 1994년 중반에 이르러 한계에 이르게 되고 인터넷의 성장은 멈추었을 것이다. Two solutions were developed and adopted by the global Internet community: 두 가지 솔루션이 개발되었고 전세계 인터넷 통신에 채택되었다. Restructuring IP Address Assignments IP 주소할당의 재구성 Classless Inter-Domain Routing (CIDR) is a replacement for the old process of assigning Class A, B and C addresses with a CIDR 은 오래된 A,B,C Class 의 주소 할당 방법을 "Prefix" 를 이용한 방법으로 교체하였습니당...^^ generalized network "prefix". Instead of being limited to network identifiers (or "prefixes") of 8, 16 or 24 bits, CIDR currently uses 네트워크를 구분짓기 위해 8,16,24 bits 로 한정된 "Prefixes" 를 사용하는 대신, CIDR 은 13~27 에 이르 prefixes anywhere from 13 to 27 bits. Thus, blocks of addresses can be assigned to networks as small as 32 hosts or to those 는 다양한 Prefix 를 사용합니당. 이처럼 작게는 32개의 호스트를 갖는 네트워크를 할당하거나 혹은 50,000 개의 호스트를 갖는 네트워크 with over 500,000 hosts. This allows for address assignments that much more closely fit an organization's specific needs. 를 할당 할 수 있습니다. 이와 같은 주소할당 방법은 각 조직이 요구하는 Need ( 필요 Host 수) 에 더욱 근접한 주소할당을 가능하게 합니당. A CIDR address includes the standard 32-bit IP address and also information on how many bits are used for the network prefix. CIDR 주소는 표준 32-bit IP 주소를 포함하며 또한 네트워크 Prefix 에 사용되는 bit 의 정보를 포함하기도 합니다. For example, in the CIDR address 206.13.01.48/25, the "/25" indicates the first 25 bits are used to identify the unique network 예를 들어 206.13.01.48/25 와 같은 CIDR 주소에서 "/25" 는 처음 25 bit 가 네트워크를 구분하기 위한 용도로 사용되고 있다는 것을 leaving the remaining bits to identify the specific host. 나타내며 나머지 bit 가 호스트를 나타낸다는 것을 뜻합니다. Hierarchical Routing Aggregation To Minimize Routing Table Entries 라우팅 테이블 엔트리를 최소화하기 위하여 계층적 라우팅 통합 ( Supernetting 에 대한 계념적 설명입니다.) 해석은 요기까지 The CIDR addressing scheme also enables "route aggregation" in which a single high-level route entry can represent many lower-level routes in the global routing tables. The scheme is similar to the telephone network where the network is setup in a hierarchical structure. A high level, backbone network node only looks at the area code information and then routes the call to the specific backbone node responsible for that area code. The receiving node then looks at the phone number prefix and routes the call to its subtending network node responsible for that prefix and so on. The backbone network nodes only need routing table entries for area codes, each representing huge blocks of individual telephone numbers, not for every unique telephone number. Currently, big blocks of addresses are assigned to the large Internet Service Providers (ISPs) who then re-allocate portions of their address blocks to their customers. For example, Pacific Bell Internet has been assigned a CIDR address block with a prefix of /15 (equivalent to 512 Class C addresses or 131,072 host addresses) and typically assigns its customers CIDR addresses with prefixes ranging from /27 to /19. These customers, who may be smaller ISPs themselves, in turn re-allocate portions of their address block to their users and/or customers. However, in the global routing tables all these different networks and hosts can be represented by the single Pacific Bell Internet route entry. In this way, the growth in the number of routing table entries at each level in the network hierarchy has been significantly reduced. Currently, the global routing tables have approximately 35,000 entries. The Internet is currently a mixture of both "CIDR-ized" addresses and old Class A, B and C addresses. Almost all new routers support CIDR and the Internet authorities strongly encourage all users to implement the CIDR addressing scheme. (We recommend that any new router you purchase should support CIDR). The conversion to the CIDR addressing scheme and route aggregation has two major user impacts: Justifying IP Address Assignments Even with the introduction of CIDR, the Internet is growing so fast that address assignments must continue to be treated as a scarce resource. As such, customers will be required to document, in detail, their projected needs. Users may be required from time to time to document their internal address assignments, particularly when requesting additional addresses. The current Internet guideline is to assign addresses based on an organization's projected three month requirement with additional addresses assigned as needed. Where To Get Address Assignments In the past, you would get a Class A, B or C address assignments directly from the appropriate Internet Registry (i.e., the InterNIC). Under this scenario, you "owned" the address and could take it with you even if you changed Internet Service Providers (ISPs). With the introduction of CIDR address assignments and route aggregation, with a few exceptions, the recommended source for address assignments is your ISP. Under this scenario, you are only "renting" the address and if you change ISPs it is strongly recommended that you get a new address from your new ISP and re-number all of your network devices. While this can be a time-consuming task, it is critical for your address to be aggregated into your ISP's larger address block and routed under their network address. There are still significant global routing table issues and the smaller your network is, the greater your risk of being dropped from the global routing tables. In fact, networks smaller than 8,192 devices will very likely be dropped. Neither the InterNIC nor other ISPs have control over an individual ISP's decisions on how to manage their routing tables. As an option to physically re-numbering each network device, some organizations are using proxy servers to translate old network addresses to their new addresses. Users should be cautioned to carefully consider all the potential impacts before using this type of solution. As mentioned before, there are a few exceptions where an organization would not use an ISP assigned address block.Address Class # Network Bits # Hosts Bits Decimal Address Range Class A 8 bits 24 bits 1-126 Class B 16 bits 16 bits 128-191 Class C 24 bits 8 bits 192-223
How Were These Problems Solved? 어떻게 이런 문제들을 해결했나?
CIDR Block Prefix # Equivalent Class C # of Host Addresses /27 1/8th of a Class C 32 hosts /26 1/4th of a Class C 64 hosts /25 1/2 of a Class C 128 hosts /24 1 Class C 256 hosts /23 2 Class C 512 hosts /22 4 Class C 1,024 hosts /21 8 Class C 2,048 hosts /20
16 Class C
4,096 hosts
/19
32 Class C
8,192 hosts
/18
64 Class C
16,384 hosts
/17
128 Class C
32,768 hosts
/16
256 Class C
65,536 hosts
(= 1 Class B)
/15
512 Class C
131,072 hosts
/14
1,024 Class C
262,144 hosts
/13 2,048 Class C 524,288 hosts User Impacts
Need More Information?
출처 - http://noc.kreonet.net/index.php |