cでパケットキャプチャを書いてみる

ProductName ルーター自作でわかるパケットの流れ
小俣 光之
技術評論社 / 1974円 ( 2011-07-09 )


同じようなコードの繰り返しで途中で飽きてきたが写経をやり遂げて、パケットキャプチャが動いたらちょっと嬉しい。

チェックサムの計算のしかた

対象となるパケットに対して、16ビットごとの1の補数和ををとり、さらにその1の補数をとる

となっているんだが、なんでコレでうまくいくのか理解できていない

sum = 0;
ptr = (u_int16_t *) data;
for(c = len; c > 1; c -= 2){
  sum += ptr;
  if(sum & 0x80000000){
    sum = (sum & 0xFFFF) + (sum >> 16);
  }
  ptr++;
}

プログラミングの力を生み出す本

アセンブラの本で、最近OS自作入門を読んでいるので非常に気になった。

ProductName プログラミングの力を生み出す本―インテルCPUのGNUユーザへ
橋本 洋志,松永 俊雄,冨永 和人,石井 千春
オーム社 / ¥ 2,625 ()


改訂版じゃなければ1円だった。

買いですよ奥さん!みたいなオーラが漂ってたので即買い。

来たらそのうち読む。

再帰呼出

再帰呼出

聴いた

もうちょい低音強めのほうが好み。