本文へジャンプ

GIDEON STAFF BLOG

wget でファイル送信

wget (1) でファイルを送信する必要が生じたので、 ブラウザでファイルを送信する際のパケットをキャプチャして 通信内容を調べてみました。

想定しているのは input type='file'enctype='multipart/form-data' を指定した フォームによるファイル送信処理。
通常の http ヘッダ以外に "Content-Type""boundary"wget (1) の --header オプションで指定して、 multipart/form-data 形式に整形した送信するファイルの内容を --post-data オプションで指定するだけで送信できます。
Content-Type'multipart/form-data'boundary は送信するデータの中に含まれない 任意の文字列を指定すれば問題ない様です。

multipart/form-data 形式は以下の形式に整形します。

--任意の文字列
Content-Disposition: form-data; name="フォーム名"; filename="ファイル名"
Content-Type: text/plain
(空行)
ファイルの中身
(空行)
--任意の文字列
	

実際にコマンドライン形式に記述するとこの様になります。

wget --header="Content-Type: multipart/form-data; boundary=バウンダリ" --post-data='
--バウンダリ
Content-Disposition: form-data; name="フォーム名"; filename="ファイル名"
Content-Type: text/plain

ファイルの中身
         :

--バウンダリ
	' 送信先URL
	

スクリプトの場合などはシェル変数などを利用すると、 もう少し見やすいスクリプトになるでしょう。

#!/bin/sh
    :
    :
# バウンダリ文字列は世界標準時基準時点からの秒数とする
boundary="boundary-`date '+%s'`"
# 受信する cgi の <input type="file" name="..."> で指定されるフォーム名
formname="フォーム名"
# 送信するファイル
filename="ファイル名"
# 送信するファイルのデータ
contents="`cat ${filename}`"

# multipart/form-data 形式のデータ生成
data="
--${boundary}
Content-Disposition: form-data; name='${formname}'; filename='${filename}'
Content-Type: text/plain

${contents}

--${boundary}
"

# ファイルの送信処理
wget --header="Content-Type: multipart/form-data; boundary=${boundary}" \
    --post-data="$data" 送信先 URL
    :
    :
	

USBメモリからブートできてパーティション操作やファイル復元が可能な『Parted Magic』

ext4に対応した Parted Magic 3.5 でパーティションを操作する

こんなディストリビューション(?)あったのか。 知らなかった。 USBメモリからブートできるイメージがあるのはかなりありがたい。 いざというとき存在を知ってれば便利そうだ。

DNS DDoS

詐称された IP address から `. IN NS' という query を投げる DNS DDoS 攻撃が最近流行っているそうです。
この DNS 問い合わせに対して root servers のリストを応答してしまうと 数百バイト程度の応答が発生してしまうので、 詐称された IP address に膨大なトラヒックが集中してしまい 結果として DDoS 攻撃 分散型サービス拒否攻撃(Distributed Denial of Service attack) となってしまいます。

bind はバージョン 9.5 で既に対策が実施されており `. IN NS' 問い合わせに `refused' と応答するので、 対策されていない DNS の管理者は早急に対策する方が良いでしょう。

節分

今日は節分の日、近くの神社で豆まきがあり、近所の人たちがあつまりました。

[IMG_4594.JPG]

このあたりでは「節分」は梅の開花時期で、 春の訪れとともに「福」の訪れも感じました。