Server Engineer/AIX
iptrace / ipreport
까만핀치
2016. 2. 18. 20:55
고객사에 문제가 있어서 네트워크 패킷을 봐야할 일이 생겼다..
tcpdump와는 다른 정보가 필요해서 찾아보니 iptrace 라는 툴이 있네..
1. iptrace
# iptrace -a -i en0 -s 192.168.0.1 -b -d 192.168.0.2 -p 9988 /check/iptrace.bin
en0 인터페이스를 통해 192.168.0.1과 192.168.0.2가 9988 포트로 주고 받는 패킷을
/check/iptrace.bin로 저장하는 명령이다.
-a 는 arp 패킷을 표시하지 않는 옵션.
2. ipreport
iptrace로 저장한 로그는 바이너리 파일이기 때문에 텍스트 형식으로 변환이 필요하다.
# ipreport -ns /check/iptrace.bin > /check/iptrace.txt
-ns 옵션은 -n은 패킷 뭐 넘버를 어찌저찌해서 표시해주는거 같고, -s는 문장 앞에 프로토콜 종류를 붙여준다.
여튼 저렇게 하면 텍스트 형식으로 바뀌어서 vi로 열어 볼 수 있는데,
몇번 해본 결과 바이너리 파일의 대충 5배 크기가 되는거 같다.
iptrace.bin이 5MB면 iptrace.txt는 25MB가 된다는 것..
어휴 뭐 쫌만 모니터링 하니 바이너리 파일이 몇십MB는 그냥 넘던데 24시간 걸어두면 어찌되려나;;;
변환 하다가 서버 뻗는거 아닌가 모르겠네.... -_-a
여튼 이 2가지를 잘 쓰면 좀 더 폼나는 엔지니어가 될 수 있을거 같다.
라지만...
문제 처리는 못하고 블로그에 글이나 올리는 현실... ㅜㅜ
----------
혹시나 해서 올려두는 크론탭 등록 용 시작 / 종료 스크립트.
사용하기 전에 디스크 공간이 충분히 있나 꼭 확인 하자!
1. 시작 스크립트
#!/bin/sh
export DAY=`date +%Y%m%d`
iptrace -a -i en0 -s 192.168.0.1 -b -d 192.168.0.2 -p 1415 /iptrace/bin/$DAY.iptrace
export DAY=`date +%Y%m%d`
iptrace -a -i en0 -s 192.168.0.1 -b -d 192.168.0.2 -p 1415 /iptrace/bin/$DAY.iptrace
2. 종료 스크립트
#!/bin/sh
ps -ef | grep iptrac[e] | awk '{print "kill -15 "$2}' | sh -x
ps -ef | grep iptrac[e] | awk '{print "kill -15 "$2}' | sh -x