Kobo に tcpdump をインストールして Wi-Fi での通信を記録する

Google Analytics にこっそりとデバイスの利用状況を送信している Kobo ですが、他にも何かしているんじゃないかと心配で夜も眠れないユーザも多いかと思います。

ちなみに、Google Analytics へのデータ送信は Wi-Fi を使わなかったり、/etc/host に Google Analytics のホスト名を書いたりして通信できなくしても、Kobo Desktop と同期したら Kobo Desktop 経由で送信されるのでご注意ください。

そんな Kobo ですが、以下のようにパケットキャプチャして記録しておけば、どんな通信が行われたかを事後的に確認することはできます。

tcpdump のインストール

http://maemo.org/packages/package_instance/view/diablo_extras-devel_free_armel/tcpdump/4.0.0-1/ から tcpdump_4.0.0-1_armel.deb をダウンロードし、tcpdump を取り出し、Kobo の /usr/bin/tcpdump にインストールします。

tcpdump自動起動する

--- /etc/udhcpc.d/default.script.orig
+++ /etc/udhcpc.d/default.script
@@ -11,10 +11,16 @@
 case "$1" in
 	deconfig)
 		/sbin/ifconfig $interface 0.0.0.0
+
+		echo $0 network $1 $ip >> /mnt/onboard/hack.log
+		/mnt/onboard/stop-tcpdump.sh
 		;;
 
 	renew|bound)
 		/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
+
+		echo $0 network $1 $ip >> /mnt/onboard/hack.log                                    
+		/mnt/onboard/start-tcpdump.sh
 
 		if [ -n "$router" ] ; then
 			while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
[root@(none) /]# cat /mnt/onboard/start-tcpdump.sh 
#!/bin/sh

pid=`pgrep -x tcpdump`

if [ -z $pid ]; then
  date=`date "+%Y/%m/%d %H:%M:%S"`
  echo "[$date] Starting tcpdump" >> /mnt/onboard/hack.log
  tcpdump -s 0 -w /mnt/onboard/kobo.cap &
fi
[root@(none) /]# cat /mnt/onboard/stop-tcpdump.sh 
#!/bin/sh

pid=`pgrep -x tcpdump`

if [ "X$pid" != "X" ]; then
  date=`date "+%Y/%m/%d %H:%M:%S"`
  echo "[$date] Stopping tcpdump" >> /mnt/onboard/hack.log
  killall tcpdump
  date=`date "+%Y%m%d-%H%M%S"`
  mv /mnt/onboard/kobo.cap /mnt/onboard/kobo.cap.$date
fi