위로 아래

Ping

Ping (Packet InterNet Groper)

ping IP

 

  1. 상대방 호스트가 살아 있는지 확인
  2. 두 호스트 간의 통신이 정상적으로 구성되어 있는지 확인 (라우팅)
  3. ICMP (Internet Control Message Protocol)을 사용 (ICMP 메시지가 내부 네트워크 상태 정보를 외부에 유출할 수 있어서 ping을 차단해놓는 경우도 있다)
  4. 실제 서비스의 서비스 포트가 정상 상태인지는 확인할 수 없다
  5. ping 종류
    1. 기본 ping : 옵션을 사용하지 않는 ping 명령어
    2. 확장 ping : 특정 옵션 (-c, -i, -I, -s 등)을 사용하는 ping 명령어
    3. 소스 ping : 다른 인터페이스의 IP를 출발지로 지정하는 ping 명령어

 

TTL (Time To Live)

  1. IP 패킷이 네트워크 상에서 얼마나 존재할 수 있는지 생존 시간
  2. 기본 TTL
    1. Windows : 128
    2. Linux : 64
    3. Sisco : 256
  3. 홉을 하나 지날 때마다 TTL이 1씩 줄어든다.
  4. tracert <IP> : 홉 지나는 것 확인

 


 

tcping

tcping

tcping IP
  1. 실제 서비스 포트로 정상적인 통신이 가능한지 확인할 수 있다.
  2. OS에 포함된 기본 명령어가 아니기 때문에 설치해서 사용해야 한다.
  3. 윈도우 용이다.
  4. 인터넷에서 tcping.exe 받은 후 C:\windows\system32에 tcping.exe 파일 넣어놓기

 

 

 

 


Traceroute / Tracert

Traceroute / Tracert

  1. 리눅스 용 : Traceroute / 윈도우 용 : Tracert
  2. 리눅스/유닉스 : UDP 프로토콜 기반 / 윈도우 : ICMP 프로토콜 기반
  3. 출발지부터 통신하거나 목적지까지의 네트워크 경로를 확인할 때 사용
  4. ping보다 중간 경로의 정보를 더 상세하게 얻을 수 있다
  5. 출발지에서 목적지까지의 라우팅 경로를 확인해, 통신에 문제가 있을 때 어느 구간부터 문제가 발생했는지 찾을 수 있다.
  6. IP 헤더인 3계층 정보에 의한 경로 추적. 2계층 이하의 장비 (L2 스위치 등)은 추적할 수 없다. 

 

작동 방식

  1. IP 헤더의 TTL(Time To Live) 필드를 이용해, TTL을 1부터 1씩 증가시키며 목적지에 도달할 때까지 패킷을 반복 전송
  2. 라우터 장비를 하나 지날 때마다 TTL이 하나씩 감소하고, TTL이 0이 되면 해당 라우터 장비는 ICMP time exceed 메시지를 출발지로 전송
  3. traceroute가 ICMP time exceed를 보낸 장비의 IP를 출력하며 경로를 추적

 

 

 

 

Tcptraceroute

Tcptraceroute (tcptrace)

ping과 tcping처럼, 서비스 포트까지 확인할 수 있는 traceroute

리눅스는 traceroute 명령어에 서비스 포트를 지정해서 써도 되고, tcptraceroute를 설치해서 써도 된다

윈도우는 tracert 명령어에 서비스 포트를 지정할 수 없기 때문에, tcptraceroute를 설치해서 사용해야 한다. 

 

 

 

 


netstat

#TCP에 대한 모든 연결과 수신 대기 정보를 숫자로 출력
netstat -ant4

#TCP 프로토콜에 대한 통계 값 확인
netstat -s -p TCP

netstat (Network Statistics)

  1. 서버의 네트워크 상태를 확인하는 명령어
  2. 서비스 포트 상태를 확인하는 용도로 많이 쓴다
  3. 확인 가능한 정보
    1. LISTENING : 현재 서버에서 특정 서비스가 정상적으로 열려 있는지
    2. ESTABLISHED : 외부 서비스와 TCP 세션이 정상적으로 맺어져 있는지
    3. TIME_WAIT, FIN_WAIT, CLOSE_WAIT : 서비스가 정상적으로 종료되고 있는지

 

리눅스 옵션

-a : all. 모든 연결과 수신 대기 포트 표시

-n : numeric. 주소와 포트 번호를 숫자 형식으로 표시 

-r : route. 라우팅 테이블 표시

-i : interfaces. 인터페이스별 입출력 패킷 통계

-s : statistics. 네트워크에 통계 데이터 출력

-p : programs. PID와 프로그램 이름 출력

-t : tcp. TCP만 출력 (TCP, TCPv6)

-4/-6 : IPv4나 IPv6에 대해 출력

 

윈도우 옵션

-a : 모든 연결과 수신 대기 포트 표시

-n : 주소와 포트 번호를 숫자 형식으로 표시

-r : 라우팅 테이블 표시

-e : 이더넷 통계를 표시

-s : 프로토콜별 통계를 표시

-p : proto로 지정한 프로토콜의 연결을 표시

 

 

 

 


ss

ss [옵션] [필터]

ss -lp | grep http
#LISTENING 상태이면서 현재 소켓에서 사용 중인 목록 중 http 서비스에만 출력

ss(Socket Statistics)

  1. 소켓 정보를 확인할 수 있는 네트워크 명령어
  2. 화면에 표기할 정보를 커닐 스페이스를 통해 직접 가져오기 때문에 netstat보다 더 빨리 결과를 확인할 수 있다

 

옵션

-a : 화면 전체에 소켓을 표시

-l : 화면에 LISTENING 상태의 소켓만 표시

-i : 소켓에 대한 자세한 정보

-p : 현재 소켓에서 사용 중인 프로세스 표시

-n : 서비스 명이 아닌 실제 포트 번호로 서비스 포트를 표기

-4 / -6 : IPv4, IPv6에 대한 소켓만 화면에 표시

-s : 프로토콜별 통계 표시

-t : TCP에 대한 소켓만 화면에 표시

-u : UDP에 대한 소켓만 화면에 표시

 

 

 

 


nslookup

nslookup(name server lookup)

#대화형 nslookup
>nslookup
>google.com
  1. DNS에 다양한 도메인 관련 내용을 질의해 결괏값을 전송 받을 수 있는 네트워크 명령어
  2. 자주 사용 : 특정 도메인에 매핑된 IP 주소 확인
  3. 옵션으로 질의하려는 DNS 서버를 변경할 수 있다
  4. 방법 2가지
    1. 직접 질의해 결괏값을 확인 : 하나의 도메인에 대해 간단히 질의할 때 사용
    2. 대화명 모드를 실행해 확인 : 여러 도메인이나 여러 질의를 해야할 때 사용

 

 

 

 


telnet

telnet (tele network)

telnet 목적지아이피 서비스포트

telnet naver.com 80
  1. 원격지 호스트에 터미널 연결을 위해 사용하는 오래된 표준 프로토콜
  2. 네트워크 문제 해결을 위해 특정 서버의 서비스에 대한 접근 가능성을 테스트할 때에도 사용한다.
  3. 보안에 취약하기 때문에 요즘엔 SSH(Secure sHell)를 사용할 것을 권고하는 중

 

 

 

 


tcpdump

#웹 서비스에 대한 패킷만 캡처
tcpdump -i dth0 tcp port 80

#ssh를 제외한 전체 패킷 캡처
tcpdump -i eth0 not tcp port 22

 

tcpdump 

  1. 네트워크 인터페이스로 오가는 패킷을 캡처해보는 기능의 명령어
  2. 패킷 분석이 필요할 때 사용

 

옵션

-i 인터페이스 : 패킷을 캡처할 인터페이스

src IP주소 : 출발지 IP주소를 지정해 필터링

dst IP주소 : 목적지 IP주소를 지정해 필터링

host IP주소 : 출발지/목적지와 상관 없이 IP 주소를 지정해 필터링

-n : 이름으로 표기되는 호스트 네임을 실제 IP주소로 표시 (Localhost -> 127.0.0.1)

-nn : 이름으로 표기되는 서비스 포트를 실제 포트 번호로 표기 (http -> 80)

src port 포트번호 : 출발지 포트를 지정해 필터링

dst port 포트번호 : 목적지 포트를 지정해 필터링

port 포트번호 : 출발지/ 목적지 상관 없이 tcp 포트를 지정해 피터링

tcp : tcp만 필터링

udp : udp만 필터링

-c 출력수 : tcpdump로 출력할 결과의 개수

-w 파일명 : tcpdump의 결과를 화면에 출력하지 않고 파일명으로 저장

-r 파일명 : 파일로 저장한 tcpdump 파일을 화면에 출력

 

Wireshark (와이어샤크)

tcpdump와 같은 역할을 하는 애플리케이션

패킷 캡쳐를 더 쉽게 할 수 있다.

패킷이 필드별로 구분되고, 패킷별로 flow도 볼 수 있다.