라우팅 경로를 찾는 traceroute, tracepath
 
   traceroute 를 위해서는 ICMP type 11(time-execeeded) 가 필터링되어서는 안됨
 
   1) ICMP 대신 UDP를 사용하려면

   traceroute -I < trace할 서버 주소 > 또는
   tracepath < trace할 서버 주소 >
 
   2) TCP를 사용하는 traceroute 툴, lft와 tcptraceroute
 
   lft : http://www.mainnerve.com/lft/
   tcptraceroute : http://michael.toren.net/code/tcptraceroute/
 
   lft < trace할 서버 주소 >
 
   # lft -d 80 lug.or.kr (해당 사이트가 80포트가 열린 경우 이용)
 
   Tracing ___________________________.
 
   TTL  LFT trace to 211.214.161.175:80/tcp
   1   192.168.123.254 1.4ms
   ... 중략 ...
   9   211.58.252.150 23.2ms
   10   211.108.63.222 21.2ms
   11   218.38.58.22 20.6ms
   12   [target] 211.214.161.175:80 75.9ms
 
   lft에서 네트워크명, AS번호까지 표시하도록 하려면 -N옵션을 사용하면 된다.
 
   # lft -N -d 80 lug.or.kr
 
   Tracing ____________________________________________________________________
 
   LFT can't seem to round-trip.  Local packet filter in the way?
 
   TTL  LFT trace to 211.214.161.175:80/tcp
   1   [IANA-CBLK1] 192.168.123.254 13.2ms
   ... 중략 ...
   9   [APNIC-CIDR-BLK2/HANANET-DONGJAK-KR] 211.58.252.150 24.2ms
   10   [APNIC-CIDR-BLK2/WULSANSO-KR] 211.108.63.222 25.0ms
   11   [APNIC4/HANANET-IDC-NGENE-KR] 218.38.58.22 39.4ms
   **   [80/tcp failed]  Try alternate options or use -V to see packets.
 
2. 네트워크 상태확인하는 netstat
 
   자주 사용하는 옵션 (워낙 옵션을 조합해서 자주 사용하므로 정리할 필요 있음)
 
   -n : 호스트명, 포트명을 lookup하지 않고 그대로 IP, Port번호로 보여준다.
   -a : 모든 네트웍 상태(listening, non-listening)를 보여준다.
   -t : TCP 프로토콜만
   -u : UDP 프로토콜만
   -p : 해당 포트를 사용하는 프로그램과 프로세스ID(PID)를 보여줌
       (솔라리스에서는 ARP 테이블을 보여줌)
   -s : 프로토콜별(IP, ICMP, TCP, UDP 등)로 통계를 보여줌
   -c : 1초 단위로 continuous하게 보여줌 (지속적인 접속 변화를 확인해야할 때 유용)
   -r : 라우팅 테이블을 보여줌. route 명령처럼
 
   netstat -nlp         Listening(l)중인 포트/소켓을 해당 PID와 프로세스명과 함께
   netstat -tn          TCP 접속 상태
   netstat -un          UDP 접속 상태
   netstat -rn          routing 테이블
   netstat -ntp         TCP 접속 상태를 해당 PID와 프로세스명과 함께
   netstat -atnp        모든 TCP 접속상태를 해당 PID와 프로세스명과 함께
   netstat -s           통계
   netstat -c -t        TCP 접속을 continuous 하게 보여줌
 
   # netstat -atnp
   Active Internet connections (servers and established)
   Proto Recv-Q Send-Q Local Address      Foreign Address     State    PID/Program name
   tcp        0      0 0.0.0.0:515        0.0.0.0:*           LISTEN   671/lpd Waiting
   tcp        0      0 127.0.0.1:3333     0.0.0.0:*           LISTEN   738/avmilter
   tcp        0      0 0.0.0.0:3306       0.0.0.0:*           LISTEN   720/mysqld
   ... 생략 ...
 
3. fuser : 파일이나 소켓을 사용하는 프로세스 ID를 보여줌
 
   1) TCP 25(mail)포트를 사용하는 PID를 보여줌
 
   # fuser -n  tcp 25
   mail/tcp:              757
 
   2) http 포트를 사용하는 PID, USER, 명령어를 보여줌
    (-vn을 -nv 처럼 사용해서는 안됨
  
   # fuser -vn tcp http
  
                        USER        PID ACCESS COMMAND
   http/tcp             root       1652 f....  httpd
                        root       1659 f....  httpd
   ... 생략 ...
 
   3) /dev/hdb1 을 사용하는 사용자와 PID, 명령어
     (umount해야할 때 사용중이라 나올 때 유용하게 쓰임)
  
   # fuser -vm /dev/hdb1
  
                        USER        PID ACCESS COMMAND
   /dev/hdb1            truefeel   1669 f....  xmms
                        truefeel   1670 f....  xmms
 
4. 패킷 모니터링을 위한 트래픽 덤프 툴 tcpdump
  
   1) eth0 인터페이스로 오고가는 트래픽 정보를 보여줌(-i eth0 옵션없으면 eth0임)
  
   tcpdump
  
   2) 192.128.1.1 host로 오고가는 또는 제외한 트래픽
 
   tcpdump host 192.128.1.1
   tcpdump src host 192.128.1.1
   tcpdump dst host 192.128.1.1
   tcpdump not host 192.128.1.1
 
   3) 192.128.1.1과 192.128.1.2 사이를 오고가는 트래픽만
 
   tcpdump host 192.128.1.1 and 192.128.1.2
 
   4) ICMP, ARP, UDP 프로토콜만, ICMP 프로토콜 20개만
 
   tcpdump icmp -i eth0
   tcpdump arp
   tcpdump udp
   tcpdump icmp -c 20
 
   5) 웹 포트로 오고가는 패킷만
 
   tcpdump port 80
 
   6) dhcp 패킷 확인할 때
 
   # tcpdump -v -s 1500 port 67 or port 68
   tcpdump: listening on eth0
   01:17:16.803166 0.0.0.0.bootpc > 255.255.255.255.bootps:  [udp sum ok]
   xid:0x29b28363 vend-rfc1048 DHCP:REQUEST RQ:truefeel
   PR:SM+BR+TZ+DG+DN+NS+HN+YD+YS+NTP [tos 0x10]  (ttl 16, id 0, len 328)
   01:17:16.806441 192.168.1.254.bootps > 255.255.255.255.bootpc:
   ... 생략 ...'
 

[출처] [리눅스 명령어] 모니터링에 유용한 명령어|작성자 참좋은날