정보보안기사

[정보보안기사] SECTION 25 네트워크 기반 프로그램 활용

tnvori 2026. 2. 5. 22:52

진상천의 야채볶음밥. 사진이 아쉽네

  1. 네트워크 기반 프로그램 활용
    1. ping
      • 개요
        • ICMP를 이용하는 유틸리티. Echo Request(Type 8)를 지정하여 대상 시스템으로 ICMP 패킷을 전송하고, Echo Reply(Type 0) 패킷을 수신하여 접근성 확인
        • 네트워크 속도 측정. 시스템의 IP 주소 확인
      • 입력 문법 및 실행 결과
        • Linux
          • -c count
          • -i wait — 패킷 송신 간 대기 시간. 기본 1초
          • -s packet_size — 송신 패킷의 데이터 크기. 기본 56바이트
        • TTL — 유닉스는 255, 윈도우는 128부터 감소
    2. traceroute
      • 동작 원리
        • 종단 노드 사이에 있는 여러 중계 노드(L3 장비, 라우터) 각 구간에 대한 네트워크 상태를 관리하기 위한 명령어
        • 네트워크의 라우팅 문제점을 찾기 위해 사용 — 중계 노드의 개수, IP 주소, 응답 시간 등 파악 가능
        • 패킷의 TTL을 하나씩 증가시켜 전송
        • 목적지에 도달할 때까지 계속 전송 — 사용 불가능한 포트 번호를 붙임
        • Unreachable Port라는 ICMP 메시지를 받으면 trace가 목적지에 도달했음을 알 수 있음
        • 우연히 도달하는 것을 막기 위해 3애의 UDP 패킷 전송
      • traceroute 활용
        • 응답 시간이 *로 표시되는 경우 — traceroute의 UDP 패킷이 보안상 이유로 차단되었거나, 해당 구간에 문제 발생
        • 트러블슈팅 방법
          • 지정한 주소가 존재하는지 확인하고, 없다면 패킷이 멈춘 곳을 알려줌
          • 수행 속도가 느리면 어느 지점이 문제인지 확인
          • 패킷이 적당한 곳을 통해 라우팅되고 있는지 확인
            • 확인
        • 어느 구간에서 지연이 발생하는지
      • 입력 문법 및 실행 결과
        • tracerout [-option] ip_address | host_name [packet_len]
        • -m max_hop — 최대 TTL 지정. 기본 30
        • -p port — UDP 포트 지정. 기본 33434
        • -q n_queries — 각 TTL마다 전달하는 탐색 패킷의 횟수. 기본 3
        • -w wait_time — 탐색 중 응답을 기다리는 시간. 기본 5초
        • packet_len — 탐색 패킷 크기
    3. netstat
      • 개요
        • UNIX 시스템의 TCP/IP 프로토콜 진단 시 다양한 용도로 사용
        • 네트워크 인터페이스(LAN 카드)에 대한 성능 정보, 시스템의 라우팅 정보, 소켓 사용 정보 등 지정 옵션에 따라 네트워크 정보 제공
      • 입력 문법 및 예문
        • netstat [-option]
        • -r — 라우팅 정보
        • -i [interval] — 네트워크 인터페이스에 대한 정보
        • -s — 각 네트워크 프로토콜(IP, TCP, UDP, ICMP)에 대한 통계 정보
          • 시스템이 부팅된 이후부터 누적된 수치
          • -P 옵션을 추가하여 프로토콜 지정 가능
        • -a — 모든 소켓 정보
        • -n — 네트워크 주소를 숫자로
      • 연결 정보
      • 연결 설정과 종료 과정
        • 3-way handshake — 연결 설정
          • LISTEN — 서버 프로그램이 연결 요청을 기다리는 상태
          • SYN-SENT — 클라이언트 프로그램이 원격 호스트에 연결을 요청한 상태
          • STN-RECV — 서버가 클라이언트 프로그램으로부터 연결 요청을 받아 클라이언트에 응답을 하였지만 아직 클라이언트의 확인 메시지를 받지 않은 상태
          • EASTABLISHED
        • 4-way handshake — 종료
          • FIN-WAIT1 — 한쪽이 연결 종료를 요청한 상태
          • CLOSE-WAIT — 연결 종료 메시지를 수신하고 그에 대한 확인 메시지를 보낸 상태
          • FIN-WAIT2 — 연결 종료 메시지에 대한 확인 메시지를 수신했지만, 원격 응용 프로그램 작업이 종료되지 않아 원격 호스트의 종결 메시지를 기다리는 상태
          • LAST-ACK — 원격으로부터 종료 요청을 받고 로컬에서도 회선 종료에 합의한 상태로, 이에 대한 확인 메시지가 수신되면 회선 종결
          • TIME-WAIT — 연결은 종료됐지만 마지막 종료 확인 메시지를 재전송할 경우를 감안하여 당분간 소켓 정보를 유지하고 있는 상태
          • CLOSE — 완전 종료
    4. route(라우팅 테이블 설정)
      • 라우팅 테이블에 라우팅 경로를 추가하거나 삭제
      • route add | del [-net | -host] destination [gw gateway] [netmask mask] [[dev] interface]
      • gw — 게이트웨이 IP 주소 지정
      • netmask — 추가하는 라우팅 경로의 넷마스크 지정
      • dev — 인터페이스 장치명을 interface 자리에 지정
    5. tcpdump
      • 네트워크 인터페이스를 거치는 패킷의 내용 출력
      • 스니핑 도구. 자신의 컴퓨터로 들어오는 모든 패킷의 내용을 도청하고, 공격자의 추적 및 공격 유형 분석을 위한 패킷 분석 시에 활용할 수 있는 도구
      • 윈도우는 windump
      • tcpdump [-option]
      • -A — 패킷의 내용을 화면에 ASCII로
      • -c — 주어진 수의 패킷을 받은 후 종료
      • -C — 방금 받은 패킷을 저장 파일로 만들기 전에 파일이 file_size보다 큰지 확인. 크다면 새로 하나 열어버림
      • -D — 패킷을 잡을 수 있는 시스템상에 가능한 네트워크 인터페이스 목록 출력
      • -i — 인터페이스를 정함. 정하지 않는다면 목록에서 가장 낮은 숫자로
    6. ifconfig
      • 네트워크 인터페이스의 설정 정보 확인
      • IP 주소 및 서브넷마스크 등의 설정 변경
      • 네트워크 인터페이스 활성화/비활성화
      • ifconfig [device] [ip_address] [netmask mask] [broadcast broadcast_ip] [up | down]
      • device — IP 주소를 부여할 장치(eth0, hme0)
      • ip_address — 인터페이스의 IP 주소 지정
      • netmask — 해당 장치에 부여할 넷마스크 지정
      • broadcast — 로컬 네트워크의 브로드캐스트 주소 지정
      • up | down — 장치 활성화/비활성화
    7. 윈도우 ipconfig 유틸리티
      • 기본 — 호스틔의 각 인터페이스에 대한 IP 주소, 서브넷 마스트, 기본 게이트웨이 출력
      • /all — 호스트의 인터페이스에 대한 더 구체적인 정보
      • /release[어댑터] — 지정한 어댑터(인터페이스) 또는 모든 어댑터의 DHCP 임대 종료
      • /renew[어댑터] — 수동 갱신
      • /displaydns — 호스트의 DNS 변환기 캐시 내용 출력
      • /flushdns — 호스트의 DNS 변환기 캐시 내용 삭제
      • /regusterdns — 모든 DHCP 임대를 갱신하고 호스트와 연관된 모든 DNS 이름 재등록
  • 포트 미러링 — 스위치에 흐르는 데이터를 분석하기 위해 사용
  • dig — DNS에 질의하기 위한 네트워크 관리 command line 인터페이스 툴
  • BIND — DNS를 구현한 소프트웨어