iptalbles LOGについてメモ
iptalbles LOGについてメモ
概要
- カーネルロギング機能を用いてsyslogにログを出力する
- ULOGターゲットというものも存在し、これはMySQLデータベースへのロギング等より広範囲な機能を持つ
- 詳細はこちら 結構色々使えそうではある。
- ログの出力先はsyslog.confで指定できる(らしい)
- ArchLinuxのページがわかりやすい
ログ関連のオプション
Option | --log-level |
Example | iptables -A FORWARD -p tcp -j LOG --log-level debug |
Explanation | iptables と syslog が用いるlog levelを指定する。 log levelについて詳細はsyslog.confを参照のこと。 通常は、debug, info, notice, warning, warn, err, error, crit, alert, emerg, panicであり、errとerror, warnとwarning, panicとemergは同じ意味だが、error, warn, panicの3つは使用すべきでない。 優先順位は、ログに記録されるメッセージの重要度を意味する。 メッセージは全てカーネル機能を通して記録される。換言すると、syslog.confに kern.=info /var/log/iptables を設定し、iptables の全 LOG メッセージのログレベルを infoにすることで、 /var/log/iptables に全メッセージを出力できます。 infoレベルを使用するカーネルの他の部分からのメッセージも、ここに出力されることに留意してください。 ロギングの詳細については、syslogとsyslog.confのmanページや他のHOWTO等を読むことをおすすめします。 |
Option | --log-prefix |
Example | iptables -A INPUT -p tcp -j LOG --log-prefix "INPUT packets" |
Explanation | ログメッセージにプリフィックスを付加するために使用します。プリフィックスをgrepすることで、異なるルールのメッセージを抽出することができます。プリフィックスの長さは空白文字等を含めて、29文字までです。 |
Option | --log-tcp-sequence |
Example | iptables -A INPUT -p tcp -j LOG --log-tcp-sequence |
Explanation | ログメッセージにTCPシーケンスナンバーを付加します。TCPシーケンスナンバーはパケットを特定するための数字であり、ストリームがどのように並んでいるべきかを示します。このオプションはログが認証されていないユーザによって見られた場合、セキュリティリスクを引き起こす可能性があります。 |
Option | --log-tcp-options |
Example | iptables -A FORWARD -p tcp -j LOG --log-tcp-options |
Explanation | TCPパケットヘッダから種々のオプションを記録します。これはデバッグに役立ちます。 |
Option | --log-ip-options |
Example | iptables -A FORWARD -p tcp -j LOG --log-ip-options |
Explanation | --log-tcp-optionsと似ていますが、これはIPオプションを記録します。 |
kern.= info /path/to/logでログレベルごとにログの出力先を変えられる、ってことは
- Well Knowポートの通信とかはinfoに設定して、/var/iptables/logに出力
- それ以外はdebugに設定しておいて、普段は/dev/nullに、必要に応じて/var/iptables/logに出力
とかもできるんだろうか。
iptablesでAWS Greengrassのようなロギングを出来るとよさげなのだけれど。
iptables以外のログが混ざるのがなかなか難しいところ。混ざらなくするためにログレベルがもっとほしい。
Web3.0のWebブラウザ Braveをインストールしてみる
Twitterからこんな画像が流れてきました。
どうも次世代の各種サービスはこうだ!って感じのもののようです。 (記事は適当に読み飛ばしました)
こちらの記事によると、Chromeよりも数倍速いようです。
数倍速いと言われれば、使って見ざるを得ません。
というわけで、早速Braveをインストールします。
curl https://s3-us-west-2.amazonaws.com/brave-apt/keys.asc | sudo apt-key add - echo "deb [arch=amd64] https://s3-us-west-2.amazonaws.com/brave-apt `lsb_release -sc` main" | sudo tee -a /etc/apt/sources.list.d/brave-`lsb_release -sc`.list sudo apt update sudo apt install brave
簡単ですね。
見た目はこんな感じでおしゃれな感じです。
初回起動ゆえか少し起動に時間がかかった気がしますが、ブラウジング自体はかなり速い気がします。しばらく使ってみて、感触を確かめたら、またなんか書きます。
4/29追記: 速度はかなりよさ気なのだけれど、Vivaldiの画面分割やスピードダイヤル機能はやはり魅力的であった。 とはいえ、Braveは出来立てほやほやなので、そういったブラウザ独自の便利機能やアドオンなどはこれから充実していくだろうし、とりあえずはこのまま使い続けようかなと思う。
あと、ブラウザ版よりもスマホ版のBraveがかなりの爆速、やばい、なんだこれは。 体感ではSafariの八倍くらい速い。
Linuxデバッグツール備忘録
Linuxデバッグ(とか)ツール備忘録
Linuxでデバッグやトレース等を行うためのツールの使い方などのメモ。
strace
概要
プログラムのシステムコール発行を追跡するためのツール
sudo apt-get install sysstat
使い方
$ strace <options> -o <log file name> ./<execution target> $ strace <options> -o <log file name> python <execution target>
<options>
については以下。
-T
: マイクロ秒の精度で情報を取得-tt
: システムコール発行時の時刻をマイクロ秒単位で表示
nice | renice
概要
nice値(優先順位: max -20 ~ 19 min)を変更するためのツール
reniceは既に実行されているプロセスのnice値を変更するためのツール
使い方
$ nice -n <niceness> <command(exgrep "hoge")>
$ renice <diff niceness> <pid> $ renice <diff niceness> -u <user>
-u
を指定した場合は、そのユーザ権限で実行されている全プロセスが対象になる
sar
概要
CPU, メモリ, DISK IOなど様々な情報のモニタリングを行うためのツール
sudo apt-get install sysstat
使い方
$ sar <options> -o <log file name> <interval> <count> hh:mm:ss CPU %user %nice %system %iowait %steal %idle hh:mm:ss all 0.88 0.00 0.00 0.00 0.00 99.12 <snip>
<options>
については以下。
-f <file name>
: -oで吐き出したファイルを食わせる-P <ALL|CPU No.>
: CPU状況を見たい時-r
: メモリ使用量を見たい時-R
: メモリページの状況を見たい時-d
: ディスクIOの状況を見たい時-n <keyword>
: ネットワークの状況を見たい時。<keyword>
については以下。DEV
: インターフェースIP
: IPTCP
: TCP
-s hh:mm:ss -e HH:MM:SS
:hh:mm:ss
からHH:MM:SS
の情報を表示-u
:-o
をつけない場合つける
見方
CPU
%user
: ユーザモードでのCPU利用率%nice
: nice値を変更しているプロセスのCPU使用率%system
: カーネルモードでのCPU利用率%iowait
: IO待ちでのCPU使用率%steal
: ゲストOSが割り当ててもらえなかったCPU使用率%idle
: 待機中CPU使用率
参考
Qiita - Linux - sarコマンドについて @makaaso
stress
概要
負荷をかけるためのツール
sudo apt-get install stress
使い方
$ stress <options> -q -t <timeout sec> &
<options>
については以下
<N>
は全てワーカーの数
-c <N>
: CPUに負荷をかけたい時-i <N>
: ディスクIOに負荷をかけたい時-m <N>
: メモリに負荷をかけたい時
ldd
概要
リンクしているライブラリを調べるツール
使い方
$ ldd <program>
gdb
概要
デバッガ
使い方
$ gdb <object file>
上記実行後、コマンドの入力が求められる。
- 行にブレークポイントを張るとき:
b <src file>:<lines>
- 関数にブレークポイントを張るとき:
b <function name>
- ブレークポイント一覧表示:
i b
- ブレークポイント削除:
d <no>
- 変数にウォッチポイントを張る時:
w <var name>
- 実行するとき:
run
- ステップ実行するとき(関数スキップ):
n
- ステップ実行するとき(関数の中に入る):
s
- 変数の値を見たい時:
p <var name>
- 変数の値を変える時:
p <var name>=<value>
- 既に実行されているプロセスにアタッチするとき:
attach <pid>
- デタッチするとき:
detach
Ctrl-x
=> 1
or 2
でソースコードを見ながら実行できる。
参考
MEMWATCH
概要
メモリリーク・破壊監視ライブラリ
使い方
ソースコードに#include "memwatch.h"
を追加。
コンパイル時に、gccに-DMEMWATCH -DMW_STDIO memwatch.c
を渡す。
実行すると、メモリリーク等の報告が記載されたmemwatch.log
ファイルが吐き出される。
参考
readelf
概要
ELFバイナリを読むためのツール
使い方
$ readelf <options> <ELF file>
<options>
については以下。
-h
: 開始アドレス-S
: 開始アドレス、データとコードのファイル内オフセット、サイズ
taskset
概要
プロセスを指定したCPUで動作させるためのツール
使い方
$ taskset -c <CPU No.s> <command>` $ taskset -pc <CPU No.s> <pid>`
cat /proc/cpuinfo
概要
CPU情報が見れる
time
概要
実行時間を見るためのツール
使い方
$ time <command>
随時更新
Windows Phone買ってみた
先日Windows Phone lumia 640 を入手しました。
Windows Phoneと言えば、去年正式に死亡宣告がなされた時代の仇花、ドリームキャスト、ベータマックスなガジェットです。
こういう不幸なハードウェア好き。 安いし。新品だと30kちょいのものが中古で4k。ラズパイより安い。
さて、どんなものか買ってみたWindows Phoneの感想ですが
- 想像以上に良くできてる
正直大したことないのだろうと思っていましたが、これがなかなか良くできています。 動作はサクサクでWindows10のパネルUIは直感的です。
家ではMacやLinux(VoyagerLinux 超オススメ)ばかり使ってWindowsはあまり触りませんが、個人的にWindows10はモダンな感じでわりかし使いやすく好きなOSでした。 しかし、Windows Phoneを使ってみて、Windows10はモバイルが一番映えるOSなんだということを再認識しました。 ノートPCだとあまりパネルUIの恩恵を感じることはないのですが、Windows PhoneだとパネルUIがピタッとハマった感があります。
普段はiPhoneを使っており、iOSのキーボードの感覚に慣れているため、Android に馴染みにくいものを感じていたのですが、このWindows Phoneはそういった違和感はありませんでした。 (日本語キーボードの扱いが若干下手な感があるのは残念)
モノとしての出来はなかなか高いと思います(マジで)。
- アプリはまぁ……
LINEやTwitterなどの日常的に使うであろうアプリはありますが、やはりゲーム系はかなり弱い印象です。 マイクラがあるのが救いか。
社用携帯なんかの用途には逆にゲームがなくてOfficeが使える点は有利だと思うのですが、やはり認知度の問題でしょうか? あまりそういった話も聞いたことはありません。
- 電池持ちはいい
最近iPhone6Sの電池がかなり保たなくなってきていたので、ほぼ新品に近いWindows Phoneのバッテリー持ちはかなり長く感じます。 充電なしでも2日は持ちます(頻繁に使わなければ) まあこれはSIMなしで運用していることも影響してそうですが、標準的な電池持ちはあると言ってもいいでしょう。
- 結論
スペア・おもちゃ用として一台確保して損はない。
唐突にスマホがお亡くなりになった時のため+遊びで一台持つ価値は十分にあるでしょう。 (安いし)
去年正式にお亡くなりなったということで話題性も抜群です。
Windows Phoneを持っておけばみんなの視線(白い目)を集めること間違いなし!
Windows Phone lumia 640 - Amazon
そのうち、Androidを入れたりなんやかんやして遊びます。