プログラムを実行し、システムにどのような変化があるかを確認してください。

プログラムを実行し、システムにどのような変化があるかを確認してください。

私のシステムを台無しにしたプライベートソースVPNプログラム(Fedora Linux)があります。これを実行した後、いくつかの変更が行われ、VPNが機能していましたが、接続を終了したときにシステムが汚れていてネットワークが失われました(特にDNS(正しく復元された場合でも/etc/resolv.conf))。

このプログラム(私の記憶が正しい場合は、GUIを含むJavaプログラム)が私のシステムで行った変更を追跡したいと思います。これには、少なくともファイルシステムとネットワーク構成を含める必要があります。

straceの使用を検討しましたが、出力が混乱しすぎてレベルが低く、何が起こっているのか理解できませんでした。私も見つけました。FSSBfsレベルでは問題はないかもしれませんが、それでもネットワーク構成で何が起こっているのか理解し、どのツールを使用するのかわかりません。

どのツールを使用できますか?

ベストアンサー1

私が提案したいことの1つは、「ip ro」、「ip ad」、「iptables-save」を前後に実行して比較することです。 resolv.conf が回復しても、DNS が破損して VPN の UDP トラフィックが破損している可能性があることを示します。おそらくUDPが有効になっている間にUDPをブロックしようとしましたが、正しく回復するのを忘れた可能性があります。

また、/etcで "git init"を実行し、すべてを保存してから( "git add .; git commit -m start")、疑わしい変更を適用した後、 "git diff"でチェックするのが便利であることがわかりました。 。何かが予期しない方法で変化することを発見した場合、驚くことがあります。また、/ etcの外部の変更がgit-diffに表示されない/ etcのシンボリックリンクを探します。

最後に、straceは実際に非常にカスタマイズ可能です。たとえば、 "strace -f -e Trace=%file -o strace.log my-command [args]" はファイル操作のみを取得します。プログラムが完了したら、open()システムコールのいくつかのバリエーションを使用する行のみを調べて、出力のサブセットをさらに指定できます。

おすすめ記事