본문 바로가기
HP-UX/Network

[HP-UX] nettl과 netfmt 예제

by 레이루이 2008. 5. 1.
반응형
nettl과 netfmt의 기본 예제입니다.
 
example)
# nettl -start
# nettl -tn all -e ns_ls_ip -f /tmp/test_ip
# nettl -status
 
# vi /tmp/filterfile
filter ip_saddr 1.7.100.54
filter ip_daddr 1.7.100.54
 
# netfmt -Nnl1c /tmp/test_filterfile -f /tmp/test_ip.TRC0 > /tmp/test_file
# cat /tmp/test_file
 
구성 정보:
운영체제 - HPUX
버전 -  TRACING
하드웨어 시스템 - 
시리즈 - 
 
답]
 
TRACE INFO 갖기
다음은 nfs 클라이언트에서 mount 명령어를 수행하면서 nfs 서버에서 trace를 취하는 예제입니다.
이것은 기본 예제이므로, 개별 옵션 이해를 위해 nettl과 netfmt의 man 페이지를 참조합니다.
 
nettl - trace 파일 만들기
 
1. nfs 서버에서 trace를 시작합니다.
 
   # nettl -tn pduin pduout -e ns_ls_ip -f /tmp/nfssvr
     또는
   # nettl -tn pduin pduout -e all -f /tmp/nfssvr
     또는
   # nettl -tn 0x30800000 -e all -size 1024 -tracemax 99999 -f /tmp/nfssvr
 
   주의: ns_ls_ip 드라이버는 ip위로 운반되지 않는 링크 레이어 트래픽이나 프로토콜에 대한  
        특정 정보가 필요하지 않다면 대부분의 경우 충분합니다.
 
2. nfs 클라이언트에서 mount 명령어를 실행합니다:
 
   # mount nfs_server:/export-mnt-pnt  /local-mnt-pnt
 
3. nfs서버에서 trace를 정지합니다:
 
   # nettl -tf -e all
 
netfmt - trace 파일 포맷하기
 
1. 캡쳐 파일에서 모든 패킷에 1-liner trace 분석 파일을 만듭니다:
 
   # netfmt -Nnl1f /tmp/nfssvr.TRC0 > /tmp/trace.txt
 
2. 캡쳐 파일에서 모든 패킷의 자세한 trace 분석결과를 만듭니다:
 
   # netfmt -Nnlf /tmp/nfssvr.TRC0 > /tmp/trace.txt
 
3. 패킷 필터를 사용하여 1-liner trace 분석 파일을 만듭니다.
 
   # netfmt -Nnl1c /tmp/filterfile -f /tmp/nfssvr.TRC0 > /tmp/trace.txt
 
 
netfmt 패킷 필터
 
"관심" 있는 패킷을 보려면, 필터 파일을 만들고 /tmp/filterfile으로 정하고 위에서 설명한
netfmt 명령어와 결합하여 사용합니다. 다음은 주어진 기준을 바탕으로 필터링하는 방법에 대한
예제입니다:
 
1. nettl trace를 구동하는 호스트에 의해 IP 어드레스로 전송되거나 수신되는 패킷을 보려면:
 
   filter ip_saddr 192.6.2.1
   filter ip_daddr 192.6.2.1
 
2. nettl trace를 구동하는 호스트에 의해 이더넷 어드레스로 전송되거나 수신되는 패킷을 보려면:
   filter source 08-00-09-00-12-3c
   filter dest 08-00-09-00-12-3c
 
3. trace를 하고 있는 호스트로 전송되거나 수신되는 패킷을 보려면:
  NFS 패킷을 보려면:
 
   filter udp_sport 2049 /* UDP port 2049 = nfsd */
   filter udp_dport 2049 /* UDP port 2049 = nfsd */
 
4. trace를 하고 있는 호스트로 전송되거나 수신되는 패킷을 보려면;
  텔넷 패킷만을 보려면:
 
   filter tcp_sport 23 /* TCP port 23 = telnet */
   filter tcp_dport 23 /* TCP port 23 = telent */
 
주의: 다중 필터가 사용되면, 논리적으로 " AND"되고 "OR"되지 않습니다:
     예:
 
        filter ip_saddr 192.6.2.1
        filter ip_daddr 192.6.2.1
        filter tcp_sport 23 /* TCP port 23 = telnet */
 
      이 필터는 ip 어드레스 192.6.2.1을 갖는 시스템으로/에서 오직 텔넷 커넥션 요청을  
      포맷할 것입니다
 
"진행중인" 패킷 관찰을 위해서는
 
"진행중인" 패킷 관찰을 위한 nettl_netfmt 운영 방법:
 
다음 명령어가 스크린에 trace 파일로 표시하고, 출력을 파일로 만듭니다. -e 파라미터로 드라이버를
지정할 수 있습니다:
 
  # nettl -tn 0x30800000 -e all | netfmt -FNnlc /tmp/filterfile | tee /tmp/fmt0
 
 trace를 정지하기 위해서는:
 
위에 시작된 nettl 명령어에 CTRL/C를 누르고 나서,
  # nettl -tf -e all
 
포맷된 trace 파일은 /tmp/fmt0 파일이 됩니다. 이때 만들어진 어떤 raw파일도 없습니다.
반응형