概念実証と便利なパラノイド ツールとして、IRC チャネルに接続し、フックされたシステム コールが実行されたときにレポートする OpenBSD LKM を作成しています。
これは、私がオフサイトにいてもインターネットにアクセスできるときに、ファイルシステムの変更、ユーザーのログオンなどの「ライブ」更新を基本的に行うことができるようにするためです。
私はソケットを接続するところまで行きましたが、ハードコードされたアドレスを使用して、getaddrinfo
またはinet_addr
呼び出しと同等のことを実行しようとして立ち往生しています。
これらはユーザーランド関数であるため、それらを使用しようとすると、未定義の参照が発生します-十分に公平です。問題は、しばらくの間 openbsd ソースをググって grep した後、これを行うための同等のカーネル関数が見つからないことです。モジュールでそれらを再実装することをお勧めします。
これはislower
、 、isxdigit
、isspace
(および、進行するにつれておそらく他のものも) なども実装する必要があることを意味します。これに対する回避策または代替手段を知っている人はいますか、それともネットファイルからc + pコードをスタックしていますか?