커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > 네트워크(network) > 네트워크 툴 도움말
검색 : 사이트 WHOIS 웹서버 종류


  ngrep 사용과 한글 표시 작성일 : 2003/11/07 14:08
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 10407
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2001.09.24 부터 수시로
    정리일 : 2003.11.07(금)

    ngrep은 패킷 내용을 스니퍼처럼 보여주는 툴이다. grep의 네트웍용이라 생각하면 쉬울 것이다.
    ngrep이 설치된 서버가 더미허브에 연결되어 있을 경우 내부 네트웍의 모든 패킷을 볼 수도 있다.

    1. ngrep 사용

    * ngrep 홈 : http://ngrep.sourceforge.net/

    80포트를 보기위해서는 다음과 같이 하면 된다.


    # ngrep -t port 80
    interface: eth0 (192.168.xxx.0/255.255.255.0)
    filter: ip and ( port 80 )
    ####
    T 2003/11/07 12:46:32.005250 192.168.xxx.xxx:35898 -> 218.xxx.xx.xx:80 [AP]
      GET /news/ HTTP/1.1..Host: coffeenix.net..User-Agent: Mozilla/5.0 (X11; U; Linux i686;
       en-US; rv:1.5) Gecko/20031007 Firebird/0.7..Accept: text/xml,application/xml,applicat
      ion/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/
    ... 중략 ...
      ........ ...., ........ - ........ .... LINUX/UNIX ....
    ... 생략 ...


    -t : 시간도 함께 표시
    -x : 16진수와 함께 표시
    -d device : 디바이스를 지정할 때
    -i : 대소문자를 무시한다.

    사용 예)

    * 특정 IP로 오가는 패킷중 80포트는 재외
      # ngrep -v -qt host IP and not port 80
    * Codered 패킷을 볼 때
      # ngrep -iqt 'default.ida' port 80
    * 특정 호스트로 오고가는 메일, FTP, 텔넷 작업 확인
      # ngrep -qx host IP and port 25 or port 110 or port 21 or port 23
    * 오라클 리스너로 가는 패킷 확인 (프로그램에서 던져지는 SQL문 확인시 유용)
      # ngrep -qx dst port 1521

    2. 한글 표시하려면

    그러나 ngrep은 영문자와 숫자 이외는 모두 점(.)으로 표시한다.
    2001년 소인이 만든 conv.pl 을 이용하면 한글도 표시할 수 있다.
    주의할 것은 웹을 통해 파일을 전송한다든지 할 경우, 이상한 문자들이 화면에 가득찰 것이다.
    파일 전송이 빈번히 이뤄지는 포트를 제외하고 사용해야한다.


    #!/usr/bin/perl
    #
    # ngrep 한글 표시용
    #
    # Made by 좋은진호(truefeel)
    # 2001.9.24

    # T 211.xxx.xx.xxx:1886 -> 205.xxx.xxx.xxx:80 [AP]
    #  47 45 54 20 2f 69 6d 61    67 65 2f 39 33 30 35 32    GET /image/93052

    while ( $P=<STDIN> ) {
            if ( $P =~ /^\s+(.+)/ ) {
                    $P_HEX = substr($P,0,54);
                    @HEX   = split(' ',$P_HEX);

                    for ( $c = 0; $c <= $#HEX; $c++ ) {

                          # 32, 0x20 = Spacebar
                          if ( hex($HEX[$c]) < 32 &&
                               $HEX[$c] ne "0d" && $HEX[$c] ne "0a" &&
                               $HEX[$c] ne "08" && $HEX[$c] ne "1b" ) {
                               $HEX[$c] = '20';
                          }
                    }

                    $P_HEX = "@HEX";
                    $P_HEX =~ s/\s//g;
                    $P_CONV= pack ("H*", $P_HEX);
                    printf("%s",$P_CONV);
            }
    }

    * 다운로드용 : http://coffeenix.net/truefeel/files/conv.pl.txt

    사용 방법은 -x 옵션을 반드시 붙이고 사용하면 된다.


    # ngrep -qx dst port 1521 | ./conv.pl


    3. 악용하지 말자

    ngrep은 악용할 경우 패스워드는 물론 모든 송수신하는 메일 내용과 메신저로 하는 대화 내용까지도
    볼 수 있다. (NIDS설치하면 이런건 쉽게 확인 가능하지만.)
    관리자의 도덕성과 관련된 부분이니 이런 용도로는 사용하지 말기를 바란다.
    오직 관리 목적, 프로토콜 분석, 네트웍 프로그래밍할 때 송수신되는 패킷이 정상적인지 확인하는
    용도로 사용해야한다.
      커피닉스 카페 최근 글
    [06/16] [질문]SAN 스위치 브로드케이드 dcx8510-4 장비관련입니다.
    [04/22] Re: 영화속에 컴퓨터 이야기 ~스워드피쉬(2001)
    [10/20] Cross Compiler 깔
    [07/14] SSL АО
    [04/26] Re: 도스화면 원격조종 여부
    [04/25] 도스화면 원격조종 여부
    [10/30] Cshell에서 난수 설정
    [10/23] 공항철도주식회사 SE 구인 件
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
    [05/16] (주)후이즈 시스템엔지니어 (경력자) 모집
    [02/15] [AWS] Cloudfront edge 확인하기
    [01/20] Mobile Service/eCommerce 기업에서 Server / Java / PHP 개발자 구인
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~