僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
Wimax2+をUSB接続したRaspberryPi B+。
付与されたIPアドレスが頻繁に消える(どうもUSBデバイスを
認識できなくなり、ひとしきり待ってから再度認識する模様)。
さしあたり、ipアドレスを失ったら再度接続するよう、
スクリプトに見張らせる。
$ while : > do > if [ -z "`ip a | grep 192`" ]; then > date; sudo dhclient eth1 > sleep 10 > fi > done
こうなった。
起動したのはpingの10発目くらいのとき。それまではrttの平均は340msくらいだったけど
(最初の一発目が1631msと少し遅いが、あとは百数十ms)、最終的には794msになり、
最凶で4963msに達する。
グラフにはsplineを入れてみた。
ping をIPアドレスに(ホスト名は名前解決を考えてやめる)、打ち続けたの はUSB有線接続のB+。firefoxは無線のjessie。
jessieの方に、tcpdumpも走らせていた。
まずDNS。
$ /usr/sbin/tcpdump -r $DATA -p udp port 53 | > awk '{print $8,$9,$10}' | sort | > uniq -c | sort -n reading from file $DATA, link-type EN10MB (Ethernet) 1 (41) 1 A 117.18.237.29 (51) 1 A 54.148.80.75, A 1 CNAME cs9.wac.phicdn.net. (132) 1 CNAME d6wjo2hisqfy2.cloudfront.net. (162) 1 CNAME d6wjo2hisqfy2.cloudfront.net., A 2 CNAME self-repair.r53-2.services.mozilla.com., CNAME 2 normandy.cdn.mozilla.net. (42) 2 ocsp.digicert.com. (35) 4 self-repair.mozilla.org. (41)
$ tcpdump -q -r $DATA -p tcp port 443 | > awk '{print $3,$4,$5}' | sort | uniq -c | sort -n reading from file $DATA, link-type EN10MB (Ethernet) 16 ec2-54-148-80-75.us-west-2.compute.amazonaws.com.https > $JESSIE.34228: 19 ec2-54-148-80-75.us-west-2.compute.amazonaws.com.https > $JESSIE.34226: 20 $JESSIE.34228 > ec2-54-148-80-75.us-west-2.compute.amazonaws.com.https: 21 $JESSIE.34226 > ec2-54-148-80-75.us-west-2.compute.amazonaws.com.https: 101 $JESSIE.33210 > server-54-192-127-245.nrt52.r.cloudfront.net.https: 102 server-54-192-127-245.nrt52.r.cloudfront.net.https > $JESSIE.33210:
さしあたりはこのあたりで。
流儀を少し覚えたほうがよさげ。でいくつか。
いちばん大きいのを探す。
$ echo -e '8 small\n12 biggiest\n5 smaller' | > awk '$1 > foo {foo = $1; bar=$2} END{print foo, bar}' 12 biggiest
if「だけ」ならif要らない
ただし条件式に続く{...}の前に、
改行を入れてはダメみたい。
$1==64 { serial += 1 sub("icmp_seq=","",$5) sub("time=","",$7) while (serial < int($5)) { print serial, 2000000 serial += 1 } print $5,$7 }
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。