Python 2.6 で UDP traceroute ソリューションを実装しようとしていますが、オペレーティング システムに付属の traceroute ユーティリティと同じようなアクションを実行するためにルート権限が必要な理由を理解できません。
このコードが実行される環境が root 権限を持っていることは非常に疑わしいので、Python の実装をやめて、OS traceroute の出力を UDP モードで解析するために何かを書かなければならない可能性が高くなりますか? または、のように構成されたソケットを開くことについて、私が見逃していることがありますかself.rx = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP)
。ルート権限がないとアクセスできないようですsocket.SOCK_RAW
。これにより、これをPythonで実装するために必要なデータを効果的に消費できなくなります。