お茶漬けぶろぐ

EdgeRouterXでパケットキャプチャする

スマホで通信した内容のパケットキャプチャをしたかった。通信経路上に何かを仕込まないといけない。自宅LAN〜てきとうなLinuxマシン〜てきとうなWi-fi AP〜スマホ、みたいな経路を用意して、間に挟まったLinuxマシンに、IPフォワードとかDHCPとかやって、ルータとして振る舞うようにしてやれば、そこでパケットキャプチャすれば良さそう。
…というところまで考えて、そう言えば、自宅LANのルータにEdgeRouter Xを使ってるんだから、絶対ここでもできるでしょう…ということで、その記録。

本題

やることは簡単で、sshで鍵ログインできるようにした上で、EdgeRouter Xのtcpdumpを実行し、その結果をWiresharkで読み込ませる。

sshで鍵ログインできるようにする

  1. まずは手元で鍵を生成
      $ ssh-keygen -t rsa -b 4096
    
  2. 公開鍵をER-Xに転送
      $ scp ./.ssh/id_rsa.pub USER@192.168.0.1:/tmp # ここではパスワード認証
    
  3. 公開鍵をER-Xに登録
      $ ssh USER@192.168.0.1 # ここではパスワード認証
      $ configure
      # loadkey USER /tmp/id_rsa.pub
      # commit
      # save
      # exit
    
  4. ホームディレクトリの所持ユーザが壊れてるので、ログインユーザに変更
      $ cd
      $ pwd
      /home/USER
      $ sudo chown -R USER .
    
  5. 公開鍵認証でログインできることを確認してから、パスワード認証をオフにする
      $ configure
      # set service ssh disable-password-authentication
      # commit
      # save
    

Wiresharkからキャプチャ!

Server, Authenticationはよしなに設定すれば良い。
Captureは以下のような感じで。

ちなみに/usr/sbinはPATH通ってないっぽい。どこかPATHが通っている場所にln -sしても良いかも?

おわり

後は煮るなり焼くなり、てきとうに。

< certbotのコンフィグを削除するやつ

コマンドラインで重複を排除する >