2つのファイルの中身を比較 - diff, comm, grep
・2つのファイルの中身の異なる部分を抽出する → diff
※対象ファイルの中身がソート済みであること
$ diff file1 file2
・2つのファイルの中身の同じ部分を抽出する → comm
※対象ファイルの中身がソート済みであること
$ comm -1 -2 file1 file2
オプションの説明
1 : file1の中身のみの存在する行を出力しない
2 : file2の中身のみに存在する行を出力しない
・2つのファイルの中身の同じ行を抽出する → grep
※ソート済みの必要なし
$ grep -x -i -f file1 file2
オプションの説明
x : 行全体を検索対象とする
i : 大文字と小文字の区別をつけない
f : 検索パターンとしてファイルの中身を使用する
Pythonでデバッグ
Pythonでデバッグをするためには次のようにコマンドを実行する。
$ python3 -m pdb example.py
デバッグ操作コマンド例
コマンド : 説明
b : ブレークポイント。b <行番号>でそこにブレークポイントを設定する。
c : 次のブレークポイントまで実行する。
enable : 無効にされたブレークポイントを有効にする。
disable : 有効にされたブレークポイントを無効にする。
n : 次の行を実行する。次の行が関数などサブプログラムの時は中に入らない。
s : 次の行を実行する。次の行がサブプログラムの時は中に入る。
bt : スタックトレースを表示する。
p : p<変数名>で変数の値を表示する。
l : 現在行周辺のソースを表示する。llでより広範囲を表示する。
u : 上のスタックフレームへ移動する。
d : したのスタックフレームへ移動する。
run : デバッグをリスタートする。
a : 関数の引数を表示する。
cl : 全てのブレークポイントを削除する。cl<番号>でその番号のブレークポイントを削除する。
r : 関数の終わりまで実行する。
h : h<コマンド名>でコマンドのヘルプを表示する。
q : デバッグを終了する。
WiresharkでHTTPS通信を復号
Wiresharkでその通信の様子を見ると、パケットは暗号化されており、ApplicationDataとなっているだけで様子が確認できない。
そこで、Wiresharkで復号された通信のパケットキャプチャができるようにする。
<環境>
MacOS Monterey
Wireshark v3.6.5
<処理内容>
HTTPS通信をする際に使う鍵情報がpre-master-secretというもので、このファイルをWiresharkと共有しておくことで復号した通信が表示される。
①Wiresharkにpre-master-secretのパスを設定する。
Wiresharkを開いて、上部メニューバーのWireshark->Preferences->Protocol->TLSを選択する。
(Pre)-Master-Secret log filename内に、ログのファイルを入力する。
(例)/tmp/pre-master-secret.log
②環境変数SSLKEYLOGFILEにpre-master-secretのパスを指定した状態で、curl通信を行う。
$ SSLKEYLOGFILE=/tmp/pre-master-secret.log curl https://example.com/
Wiresharkを見てみると復号された通信を確認できる。ちなみに、この通信内容をファイルに保存しても、復号された通信が保存されるわけではなく、暗号化されたものが保存される。
CentOS6インストール後にネットワークに繋がらない
VirtualBoxにCentOS6をインストール
最初は問題なくネットワークにつながっていたのだが、yumなりを色々といじったからかネットワークがつながらなくなった
色々と調べた結果、解決できた方法
①
/etc/resolv.confを開く
(root権限で)
# vi /etc/resolv.conf
その中には
# No nameservers found; try putting DNS servers into your
...
の文が
②
ということで、DNSサーバの構築を行う
# yum -y install bind bind-utils
これで問題は解決した
他にも色々とBIND設定を行う必要もあるそうだが、一応ネットワークに繋がらない問題は解決できた