# tcpdump -i eth0 -s1550 -x
09:26:19.571231 IP 202.131.29.71.www > 192.168.15.11.60478: . 1:1461(1460) ack 658 win 6570
0x0000: 4500 05dc 89d8 4000 3406 ffc5 ca83 1d47
0x0010: c0a8 0f0b 0050 ec3e b64f e2ba e85c e4e9
0x0020: 5010 19aa 1b94 0000 4854 5450 2f31 2e31
0x0030: 2032 3030 204f 4b0d 0a44 6174 653a 204d
0x0040: 6f6e 2c20 3131 204a 756c 2032 3031 3120
0x0050: 3133 3a32 363a 3137 2047 4d54 0d0a 5365
0x0060: 7276 6572 3a20 4170 6163 6865 0d0a 4c61
물론 -X 옵션과 같은 몇 가지를 조합하면 ASCII 값도 출력시키면서 조금은 더 보기 좋게 볼 수 있다. 여기서 소개하는 것을 이용하면 아래 화면과 같은 형태로 출력된다.
상단에 헤더정보가 요약되어 보이고 다음에 스트링 문자열을 보여준다. 사용방법은 아래 경로에서 스크립트를 다운로드 받고,
# tcpdump -i eth0 -l -s 65535 -x | fil
과 같이 사용하면 된다. 그냥 간단히 덤프하는 출력 내용을 fil 로 전달하는 것 뿐이다.
http://www.ishiboo.com/~danny/Projects/tcpdump.awkfilter/fil
요새는 워낙 좋은 도구들이 많이 나와있다보니 이런 필터가 큰 의미가 있을까 하는 분들도 있을 것이다. 나또한 이 필터의 직접 적인 출력 내용보다도 이런 방식으로 활용할 수 있다는 것을 여러분들에게 소개해 주고 싶은 것이다. Awk 로 만들어져 있지만, 이외에도 다양한 스크립트를 이용할 수 있다. 업무에 따라, 필요로 하는 정보가 조금씩 달라진다. 그럴때 나에게 맞는 도구를 간단히 만들어 응용해 보면, 더욱 효과적인 패킷 분석이 가능해 진다. 꼭, 어렵게 생각할 필요는 없다. 기존에 나와있는 도구를 잘 응용하면 여러분이 원하는 도구로 쉽게 만들어 버릴 수 있다는 사실을 잊지말자!
P.S 처음 받아서 실행해 보면, 출력이 제대로 되지 않아 살펴보았다. fil 필터를 열어보면 다음과 같은 시작부분에서 startip 를 0 에서 1로 변경하였다. 그냥 실행시 제대로 정보가 출력되지 않아, 프로토콜 번호를 찍어보니 엉뚱한 것이 찍히고 있었고, 코드를 확인결과 startip 만 살짝 바꾸면 위와 같이 출력이 된다.
BEGIN {
BIGENDIAN = 0
margin=" "
startip=1
FS = " "
}
AWK 소스를 더 수정해야 할것 같습니다
답글삭제저렇게 돌리면 모든 DST 첫번째 IP 가 0 으로 나오구요
소스 중 아래 IP 찍는 부분에
=========================================
else if(drawn == startip+15)
printf("%d->",X)
else if(drawn == startip+17)
=========================================
15 다음에 16이 아닌 17을 더해 주셔야 정확한 정보가
찍히겠습니다.
NIXLUX~ 필요한 정보는 언제든지~
감사합니다.