2017年1月21日土曜日

Blogger登録メールアドレスの変更

Bloggerに登録メールアドレスの変更方法。

無いみたい。

以下のページに案内があった。

https://support.google.com/blogger/answer/42673

ブログを新しいオーナーに移行する
ブログをオーナー間で移行するには:
1.ブログの編集権限を他のユーザーに付与する上記の手順を行います。
2.元のブログオーナーの権限を取り消します。
3.元のブログオーナーの投稿の名前を変更する場合、新しいブログオーナーは投稿を削除してから再公開する必要があります。

登録メールアドレスを変更したければ、変更先のメールアドレスを編集者として追加。元のアドレスを削除。って手順でやれってことのようだ。

Bloggerに登録メールアドレスの変更手順は以下の通り。

1.元のメールアドレスでBloggerにログイン。

2.メールアドレスを変更するするブログを選択。

3.メニューの〔設定〕→〔基本〕のページの〔許可〕のところで、投稿者として新しいメールアドレスを追加。〔執筆者を招待〕をクリック。

4.新しいメールアドレスに招待メールが届くので〔招待に応じる〕のURLを開く。

5.〔招待に応じる〕のURLを開くと、再度、招待に応じるかの確認があるのでこれをクリック。新しいメールアドレスでBloggerにログインされる。

6.元のメールアドレスでBloggerにログインして、メニューの〔設定〕→〔基本〕のページの〔許可〕のところで、新しいメールアドレスに管理者としての権限を与える。

7.新しいメールアドレスに管理者としての権限を与えると、元のメールアドレスが削除可能になるので削除する。

これでBloggerの登録メールアドレスを変更できる。

が、これだけではコメント通知メールに元のメールアドレスが残っているので、メニューの〔設定〕→〔メール〕のページでコメント通知メールのメールアドレスの変更を行う。

招待メールの内容は以下の通り。

Google をご利用いただきありがとうございます。
このメールは、 ○○さんが自身のブログ「 "□□"」の投稿ユーザーになるようあなたを招待していることをお知らせするものです。この招待に応じる場合は、下のボタンをクリックしてください。
招待に応じる
重要: 招待に応じてこのブログの投稿ユーザーになるには、Google アカウントを使用してログインする必要があります。Google アカウントをお持ちでない場合は、こちらから作成できます。
ブログをお楽しみください。
Blogger チーム

最後に重要なこと。

新しいメールアドレスを登録する時にユーザープロフィールの新規作成を行った場合は、規定値の設定でプロフィール公開となっているので注意。必要ならメニューの〔設定〕→〔ユーザー設定〕のページからユーザー プロフィールを編集しておく。

あと、元のメールアドレスでのBloggerだが、Blogger自体には元のメールアドレスが登録されたままのようだ。メールアドレスは登録が残っているが管理しているブログは一つも無いという状態。気持ち悪いなあ。登録消したい。誰か方法教えて。

2017年1月16日月曜日

tcpdumpでHTTPリクエストパケットを表示する方法

tcpdumpコマンドでHTTPリクエストパケットを表示するには以下のような指定をすれば良い。

# tcpdump -i enp5s0 'src host 192.168.000.000 and dst port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -A

「ip[2:2]」は、パケット全体の長さ。

「ip[0]&0xf」は、IPパケットのヘッダの長さ(4bit)。

「tcp[12]&0xf0」は、TCPヘッダの長さ(4bit)。

「ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0」の意味は、パケット全体の長さからIPヘッダ長とTCPヘッダ長を引いた結果が0でない。つまりデータが存在するパケット。

実行例は以下のような感じ。

# tcpdump -i enp5s0 'src host 192.168.000.000 and dst port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -A
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp5s0, link-type EN100MB (Ethernet), capture size 65535 bytes
18:05:33.277701 IP localhost.localdomain.44996 > www.yahoo.co.jp.http: Flags [P.], seq 1905887331:1905887471, ack 295056756, win 229, options [nop,nop,TS val 752892287 ecr 90996223], length 140
E.....@.@........O.|...Pq..c..5t...........
,.9..l}.GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.2)
Host: searchranking.yahoo.co.jp
Accept: */*

この例でのHTTPリクエストはphpからcurlを使って発生させたもの。以下のようなプログラム。

    $url = 'http://searchranking.yahoo.co.jp/';
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    curl_setopt( $ch, CURLOPT_USERAGENT,
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.2)' );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    $c = curl_exec( $ch )

ブラウザからのHTTPリクエストとはかなり違うようだ。

tcpdump: WARNING: SIOCGIFADDR: nflog: No such device

CentOS7でhttpのリクエストを見ようとtcpdumpを実行したら以下のエラーになった。

# tcpdump
tcpdump: WARNING: SIOCGIFADDR: nflog: No such device
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on nflog, link-type NFLOG (Linux netfilter log messages), capture size 65535 bytes

CentOS7ではtcpdumpの-iでinterfaceを指定する必要があるようだ。interfaceを指定しないとtcpdump -Dで表示される先頭のデバイスが選択される。

CentOS7でのtcpdump -Dの実行結果は以下の通り。

# tcpdump -D
1.nflog (Linux netfilter log (NFLOG) interface)
2.nfqueue (Linux netfilter queue (NFQUEUE) interface)
3.usbmon1 (USB bus number 1)
4.usbmon2 (USB bus number 2)
5.usbmon3 (USB bus number 3)
6.usbmon4 (USB bus number 4)
7.enp5s0
8.usbmon5 (USB bus number 5)
9.any (Pseudo-device that captures on all interfaces)
10.lo

先頭が「nflog (Linux netfilter log (NFLOG) interface)」なのでtcpdumpの-iでのinterfaceを指定を省略した場合には、この「nflog (Linux netfilter log (NFLOG) interface)」が選択される。

以下のようにtcpdumpの-iでEthernetのinterfaceを指定すればEthernetのパケットの内容が見れる。

# tcpdump -i enp5s0
# tcpdump -i 7

CentOS6.7で確認してみた。CentOS6.7でのtcpdump -Dの実行結果は以下の通り。

/tcpdump -D
1.eth0
2.nflog (Linux netfilter log (NFLOG) interface)
3.nfqueue (Linux netfilter queue (NFQUEUE) interface)
4.eth1
5.any (Pseudo-device that captures on all interfaces)
6.lo

CentOS6.7では先頭がEthernetのinterfaceなので、tcpdumpの-iでのinterfaceを指定を省略してもEthernetが選択されてEthernetのパケットの内容が見れたようだ。

CentOS7になってネットワーク関係は微妙に変わっているようだ。