2020-07-31 健康診断をしてlisten(2)の処理を上書きするコードを書いてた

  • 今日は健康診断だった
  • お腹減りすぎでやばかった
  • バリウムがヨーグルト味といっても誰も信じてくれなかった
    • でもゆううきさんが「ちょっとヨーグルトの風味するかも」と言ってくれた
    • それを聞いたみじーさんもふんふんとうなずいていました
  • 健康診断中は超絶暇なので今やっている研究の実装を考えていた

  • ゆううきさんが今日はクバネテスでマイクロサービスしてプロメテウスとグラファナでカオスエンジニアリングしてクラウドネイティブだ!って言ってました

  • 健康診断中に考えていた実装を実際にコードに落とし込んでいた
  • やっぱり頭の中でコードを考えておくと実装におとしやすい
  • できた
  • GitHub - matsumotory/tcp_save_syn_listen: listen() with TCP_SAVE_SYN using LD_PRELOAD
    • これを使えば、listen(2)のようなシステムコールもカジュアルに上書きできる
    • なので、listen(2)を呼ぶようなアプリで、listen()前にsetsockoptしたいけど、直接そのアプリのコードにハードコードしないと書き換えられないみたいなときに、アプリ起動時にlisten()を上書きすることで挙動を変えられる
  • tcpriv的にはあとは正規の認証プラグインみたいなものでsocketからsynヘッダを取り出してuidをparseし、認証に加えてやると良い

  • あとは書籍のレビューと論文査読をやっていく