ポン酢ブログ(β)

The harder you work, the luckier you get. - Gary Player

ディスプレイフィルタ - The Wireshark Wiki (日本語訳)

本記事は IGGG Advent Calendar 2016 10日目の記事です.
今回は WiresharkWiki を日本語訳します.今回は DisplayFilters - The Wireshark Wiki です.
環境は English を想定しています.

    • -

ディスプレイフィルタ

Wiresharkは一般的なパケットを表示やカラーリングルールのためにディスプレイフィルタを利用します.
ディスプレイフィルタの基本や文法についてはユーザーズガイドに記載されています.
もし特定のプロトコルに関するディスプレイフィルタを必要とする場合はプロトコルリファレンスをご覧ください.

ディスプレイフィルタはキャプチャフィルタではない:

キャプチャフィルタ(例:tcp port 80)は,ディスプレイフィルタ(例:tcp.port == 80)ではありません.
こちらもご覧ください: CaptureFilters#Capture_filter_is_not_a_display_filter

見本

SMTP(ポート25)とICMPトラフィックのみを表示する]

tcp.port eq 25 or icmp

LAN内(インターネットではない,ワークステーションとサーバの間)のトラフィックのみを表示する場合:

ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16

TCP バッファが一杯*1(ソースが宛先にデータの送信を停止する指示をしたとき):

tcp.window_size == 0 && tcp.flags.reset != 1

Windows 向けフィルタ -- Windows クライアントとデータベース間の通信をフィルタする

smb || nbns || dcerpc || nbss || dns

Sasser ワーム

ls_ads.opnum==0x09

8バイトのUDPヘッダを無視し,UDPペイロードの最初の任意の3バイト 0x81,0x60,0x03を含むパケットをフィルタする(16進数のみ,独自プロトコルに役に立つでしょう):

udp[8:3]==81:60:03

slice 機能はMACアドレスのOUIをフィルタすることにも役に立ちます.詳しくはEthernetページをご覧ください,これであなたは特定のデバイス製造元のみのパケットをフィルタすることができます(たとえばDELLマシンのみ):

eth.addr[0:3]==00:06:5B

これらはどのフィールドやプロトコルの中で検索するときに利用できます.

UDPヘッダもしくはペイロードに含まれる 0x81,0x60,0x03 を見つける:

udp contains 81:60:03

SIP Toヘッダに含まれる文字列"a1762"を見つける:

sip.To contains "a1762"

これらの記号には正規表現Perl正規表現文法に従います.(Wiresharkはlibpcreとビルドされている必要があります.)

HTTPリクエストの最後のURI文字列に含まれる"gl=se"をフィルタする:

http.request.uri matches "gl=se$"

ノート: $ はPCREの句読点で,文字列の最後と一致させます.この場合ではhttp.request.uriフィールドの最後です.

プロトコル(たとえばSIP)でフィルタし,不要なIPをフィルタする:

ip.src != xxx.xxx.xxx.xxx && ip.dst != xxx.xxx.xxx.xxx && sip

落とし穴

いくつかのフィルタフィールドは複数のプロトコルフィールドと矛盾してマッチします.
たとえば,"ip.addr"はIPヘッダに含まれるソースアドレスと宛先アドレスをフィルタします.
これは"tcp.port","udp.port","eth.addr"なども同じです.

ip.addr == 10.43.54.65

ip.src == 10.43.54.65 or ip.dst == 10.43.54.65

と同値です.

直感的にこれらにも当てはまるでしょう.もし私達が10.43.54.65からのトラフィックをフィルタしたいなら
以下の

ip.addr != 10.43.54.65

ip.src != 10.43.54.65 or ip.dst != 10.43.54.65

と同値です.
これは,「ソースIPv4アドレスが10.43.54.65からかつ宛先IPv4アドレスが10.43.54.65のトラフィックを除いたすべてのトラフィックをフィルタする」ということですが,これらは私達が望んでいないことです.

代わりに,私達がこう表現する必要があります.

! ( ip.addr == 10.43.54.65 )

! (ip.src == 10.43.54.65 or ip.dst == 10.43.54.65)

と同値です.

これは「ソースIPv4アドレスが10.43.54.65もしくは宛先IPv4アドレスが10.43.54.65のトラフィックを除いたすべてのトラフィックをフィルタする」ことで,私達が望んでいたことです.

例えば,トンネルされたプロトコルであなたが2つのIPv4もしくはIPv6レイヤーを分離もしくは2つのIPv4もしくはIPv6ヘッダを分離するためや,あなたが他の理由でフィールドに複数のインスタンスが必要になることがあります.(例: IPv6のネクストヘッダフィールド)

name op valueはnameフィールド,opは==や!=や<のような比較のオペレータで,valueは値です.
少なくとも1つの該当するnameフィールドがあり,同値(でない),少ない(などの)valueが存在することと意味は同じです.その逆は,少なくとも1つの該当するnameフィールドがなく,同値(でない),少ない(などの)valueが存在することと意味は同じです.無効,逆を表す簡単なオペレータは==と!=や<と>=で,あとは元の意味と確認するために無効の否定を確かめてください.

こちらも参照

CaptureFilters

外部リンク

Displaying HTTP traffic to debug Apache
Capture and display filter Cheat sheets

___
This article is under the GNU General Public License.

*1:筆者注: TCP ゼロウィンドウ

いたずらおもちゃ - The Wireshark Wiki (日本語訳)

本記事は 群馬大学電子計算機研究会 IGGG Advent Calendar 2016 3日目の記事です.
今回は WiresharkWiki を日本語訳します.初日は PracticalJokes - The Wireshark Wiki です.
環境は English を想定しています.

    • -

いたずらおもちゃ

Wireshark は多くの設定オプションを持ち,まったく予期しない挙動をするように設定することができます.誰も見ていない時にあなたが彼らのワークステーションにアクセスできるとき,以下の方法はかなりの混乱を招くことができるでしょう.

パケットを不可視にする

メニューから次を選択します: View → Coloring Rules,
以下のルールを作成します:
Name: (任意)
Filter string: frame
Foreground color: white
Background color: white

一番上のフィルタを確認してください.あなたは最終的にこのようなディスプレイの見た目になるでしょう:
f:id:atpons:20161201194658p:plain

パケットごとにディスプレイフィルタ "frame" に一致するためにパケットは不可視になります.
前面と背景を同じ色(白,黒,紫,ピンク)に設定するとパケットリストは見えなくなります.

プロトコルを不可視にする

メニューから Analyze → Enabled Protocols を選択し Disable All をクリックして保存します.
Wireshark は知っている各パケットを表示しますが,それほどのものではありません:
f:id:atpons:20161201194716p:plain

キャプチャを不可視にする

メニューから View を開き Packet List ,Packet Details,Packet Bytes のチェックを外します.
いつあなたのターゲットがファイルを開くかキャプチャを始めても,ステータスバーにあるカウンタを除いて何も表示されません.
f:id:atpons:20161201194736p:plain

変換で遊ぶ

もしターゲットのキャプチャファイルに予期できる IP アドレス(たとえば 192.168.1.x のような)が含まれていれば,あなたは hosts ファイルに面白いネットワークアドレス変換を加えることができます.
設定でネットワークアドレス変換が有効になっていることを確認してください.

次に彼らが Wireshark でかっこいい SIP ゲートウェイからすごい SIP フォンへのキャプチャを開いたとき,彼らにはサンタからルドルフへの会話に見えるでしょう.
f:id:atpons:20161201194751p:plain

___
This article is under the GNU General Public License.

スピード証明写真を Lightroom とデジイチで安く撮る方法


2014年あけましておめでとうございます。(遅い)
新入学新社会人のシーズンですが、みなさんは試験の時などの写真はどうしていますか?
以前、とある試験を受ける際に証明写真のあの機械を使ったのですが、なんと 700 円もしました!
なんかプリクラのチープ版でコスト削減感がハンパないのに、あんなにお金かかると落ち込みますね...。

ということで今回はある資格を受験するので、その際の証明写真を自分で撮ったというお話です。

今回はデジイチLightroom 5 を使った、証明写真の撮り方を書いてみたいと思います!お金がないので、100均の材料だけで、軽めに撮りました...。

必要なもの

Adobe Photoshop Lightroom 5

画像編集ソフトなら何でもありです。
縦横比などの情報は他のソフトにもそのまま使えると思います。

デジタルカメラ / デジタル一眼レフカメラ

今回は Canon EOS Kiss X6i を利用しました。
デジイチの場合、レンズはできるだけ近くに寄れるものが良いでしょう。今回は、SIGMA 標準ズームレンズ 17-50mm F2.8 EX DC OS HSM キヤノン用 APS-C専用 を利用しました。

・光沢の写真用紙(高いのが良い)

今回は、HP の光沢の写真用紙(Photosmart 買った時の試供品)を利用しました。10cm x 15cmのはがきサイズで、1 枚に約 4 枚の証明写真を作成できます。
ガチなら、各プリンタメーカーの高いのを使うことをおすすめします。

・三脚

立てば良いです。Lightroom の場合、傾き補正とかもあるのであまり気にしなくても、勝手にやってくれます...。

・白い模造紙


100 円ショップで売ってるアレです。今回は、厚口タイプの545mm x 788mmのものを利用しました。
影などが気になってしかたがないときは、もっといい感じでやってみてください。

【撮影編】

① 三脚を立てる!

三脚は、自分の身長の半分くらいまで立てれば多分余裕です。(座る場合)
立つのであれば、結構無理かもしれないです...。

② 壁に模造紙を貼る!

セロテープで壁に模造紙を貼ります。だいたい、自分の顔まで寄れればOKです。ベッドなどがあれば、そこに座って撮影することもできます。多分そのほうが楽です。
その際、バリアングル液晶とか、 EOS ユーザーであれば EOS Utilty を利用したライブビューで見ながら、カメラ側でどう写るかを確認しながら貼りましょう。セロテープが映り込んでも、 Lightroom で消せますのでそこら辺は気にしなくても良いと思います。

③ USB ケーブルでパソコンとカメラをつなぐ!

今回は Lightroom のテザー撮影機能を利用したので、 USB ケーブルでカメラを接続しましたが、自分が見れれば良いのでそこら辺は自由に。
もし、リモートレリーズなどがあればそちらでも可能です。それもない場合、セルフタイマーで行うのが吉です。

Lightroom のテザー撮影を起動する!


テザー撮影とは、 USB ケーブルで接続されたカメラをリモートでシャッターを切って、即転送してくれる超便利機能です。
しかし、ライブビュー機能が利用できないので、Canon製カメラを使用している場合、位置合わせ時は EOS Utility などを使うことをおすすめします。
Lightroom 5 を使用している場合、テザー撮影は Lightroom -> ファイル -> テザー撮影 で可能です。

⑤ シャッターを切りまくって確認する!


模造紙の位置などを確認しつつ、バンバン撮影 or ライブビューで確認して、模造紙と自分の位置をあわせて行きましょう!

⑥ 撮影開始!

Lightroom の人は撮影していけばどんどん保存されますし、 EOS Utility の人もプレビューにしっかりと出てきてくれていると思います。この調子で納得の行くまで撮影しましょう!

【現像編】


撮影が終わったら、しっかりと現像してあげましょう。
Lightroom 5 なら、円形フィルター + 明瞭度などのパラメータをイジるだけで大分顔の印象が変わると思います。

【印刷編】

① 縦横比・トリミングの設定

f:id:atpons:20140131221457p:plain
Lightroom の人は、縦横比は「切り抜きと角度補正」より調節可能です。
縦横比は、指定された”証明写真+0.1"くらいでちょうど良いと思います。
また、トリミングも適宜行いましょう。

② 用紙サイズの設定


プリントモジュールに行って、用紙を用意したものに変更します。今回ははがきサイズで説明していきます。
以下のように設定すれば、だいたいはOKだと思います。

③ 印刷

あとは印刷するだけです。印刷後、確認してからていねいに切り取ってください!

ということで、証明写真を 1 時間程度でとりあえず安く作る方法でした。備忘録。

自分の2013年

新年早々受験して落ちました。
引きずってません。普通高校で大学目指すスチューデントです。
上の記事だと変なこと書いてますけど、今考えると変だ。変。

  • 高校に入学しました

高校に進学しました。
もう1年目が終わろうとしてるけど、楽しいです。
その代わり生産性が低下したので、良くないことなので、2014年は頑張りたいです。(何かを)

  • 人生初の一眼レフカメラ買いました。

紆余曲折あったんですが、 Canon の EOS Kiss X6i を購入しました。
その後、 EF50mm なんかも購入して、まったり写真ライフです。
それなりに明るいレンズ、ほしい...(完全に沼)

  • 携帯電話会社を docomo にしました。

Xperia feat. HATSUNE MIKU SO-04E に MNP で購入しました。
正直 Xi サービスはクソです。 WiMAX 契約したい。

本当は書きたいこともっとあるんですけど、仕方ないや... (実は書くことないの?)

今年の総括

長かった。

最近の Sinatra で %2F がつらぽよかった話

こんにちは。というかもう4ヶ月前くらいなんだなあ、ブログ書いたの。

というわけで、今回は備忘録です。

以前自分向けに制作した Sinatra で少し書いたものがあるのですが、 Ruby 2.0.0 がリリースされる前くらい昔に書いたコードなので、久しぶりに起動したらエラーが出ました。

~/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1488:in `start_server': undefined method `run' for HTTP:Module (NoMethodError)
from ~/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1426:in `run!'
from ~/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/main.rb:25:in `block in '


このエラーは

set :server, 'webrick'

と入れたら解決しました。

問題はここからです。

自分の書いた適当コードには、
http://xxx/hoge/◯◯/△△と投げられるようにしているのですが、◯◯の中などにURLエンコードされたスラッシュ「%2F」(/)があると、自動的に / と解釈されて、エラーが生じてしまいます。

とりあえず今の段階で回避するには、

set :protection, :except => :path_traversal

を入れると良いみたいです、が。

なんかディレクトリトラバーサルの対策用の設定っぽいので無効とかにするとよくなさそうな、気が。

今度色々読んでみたいですね...。

EOS Kiss X6i を買ったらレンズ沼に入れられた話。

f:id:atpons:20130813182818j:plain
部活の関係上、必要になってきた一眼レフをついに買いました。
購入したのは Canon の EOS Kiss X6i のダブルズームキットです。 STM 搭載レンズキットも検討しましたが、望遠はすてに捨て切れませんでした。

触ってみた印象は、とても軽くてスナップなんかも余裕です。
標準付属している EF-S18-55mm F3.5-5.6 IS II でも良く撮れてくれて、まあ普段どこかへ行くならこれ一本でも満足できるかな。

f:id:atpons:20130812114830j:plain
(EF-S18-55mm F3.5-5.6 IS II で撮影)

まあ望遠の話もしておくと、使い勝手は標準ズームと同様で使いやすいです。でも地味に足りなくてつらみはある。
f:id:atpons:20130812133019j:plain
(EF-S 55-250mm F4-5.6 IS IIで撮影)

撮り方とか初心者すぎてまだわからないので許してください。勉強します(´・ω・`)

また、三脚も購入しました。ベルボンのEX-440。写真は割愛しますが、X6iくらいなら余裕で乗ります。2千円台なので、入門ならぜひ。

と、ここまでは普通の話。
購入後、某氏からレンズ沼へのお誘いを受けていたんですが、補助してくださるということで撒き餌レンズといわれる「EF50mm F1.8 II」を購入しました。
f:id:atpons:20130813183050j:plain

実際に言うと、1万円以下で手に入るレンズとしては最強のスペックだと思います。
よくボケるんだなあこれが。スバラシイボケ味が出てくれるので、F1.8ヤバい。
APS-Cクラスだと換算で80mmくらいになるので、まあ多少のトレーニングが必要ですが、「オトコノコでズームレンズなの?単焦点ジャナイノ―」っていう女の子をメロメロにさせるならこのレンズくらいはあってもいいと思います。
f:id:atpons:20130813174132j:plain
(EF50mm F1.8 IIで撮影,DPPにてRAW現像済)

ということで、次は何かな。リモコンかな。

(追記)

Ubuntu Server 13.04 で ZFS

すっかりサーバを使わなくなってしまったので、ファイルサーバとして家で使っていこうと思いまして。

参考にしたのはこちらのブログ。
hirom.net» Blog Archive » UbuntuでRAIDZファイルサーバ構築メモ

しかし ppa:dajhorn/zfs が404だったので、ppa:zfs-native/stable を使わさせて頂きました、という備忘録。

今のところ快適に動いてくれてます。2TB * 2で運用中。
8GBのRAMでも普通に動いてくれるので悪く無いです。
追記)間違えた。RAID-Zは5台だからただの普通にZFSなRAID1か。