ログ出力にうっとり

いろいろ書こうと考えていたら時間がたってしまったので、今日書いていたプログラムでこだわった点など。

今 RawSocket を扱うプログラムを書いていて、大体動きは確認できたのですが、
なんとなく様子をみたいということで、ログ出力を丁寧にしてみました。


2010/01/07 08:03:58.598 debian ./rawsock[3619:3068251024]: ETH2-RECV SRC 192.168.0.2:10000 DB:INSERT SEND ===> ETH3 (LAN1:eth3) 74 bytes
---
DST MAC: 00.1B.21.0E.17.84, SRC MAC: 00.1B.21.35.61.D0, TYPE: 0800
VER: 4, HL: 5, ST: 10, TOTLEN: 60, ID:14640, FLAG: 00, FLAGOFF: 0, TTL: 64
PROTO: 6, SUM: BFEF
SRC IP: 192.168.0.2, DST IP: 192.168.0.58, OPT+PAD:
SRC PORT: 10000, DST PORT: 80[TCP] TCP Payload: 0 [SYN]
========================================
2010/01/07 08:03:43.495 debian ./rawsock[3619:3085036432]: ETH3-RECV DST 192.168.0.239:143 DB:NOT FOUND SEND ===> ETH2 (LAN2:eth2) 60 bytes
---
DST MAC: 00.60.E0.48.41.87, SRC MAC: 00.21.5E.46.30.40, TYPE: 0800
VER: 4, HL: 5, ST: 00, TOTLEN: 40, ID:0, FLAG: 02, FLAGOFF: 0, TTL: 64
PROTO: 6, SUM: B88E
SRC IP: 192.168.0.2, DST IP: 192.168.0.239, OPT+PAD:
SRC PORT: 10000, DST PORT: 143[TCP] TCP Payload: 0 [RST]
========================================
tcpdump の結果をみているようで楽しいです。