次のURLの結果を見ていて、Tor ProjectのWebサイトがTorが使用されているかどうかを「知っている」方法を知りたいのですが。
https://check.torproject.org/?lang=en-US&small=1&uptodate=1
パケットスニファをセットアップしますが、出口ノードではないので、それが大きな違いをもたらすかどうかはわかりません。
1行で:すべての出口ノードのリストがあります( that のようなもの)。
私はこれを見てきました post は、phpでTor接続を検出する方法を示しています
function IsTorExitPoint(){
if (gethostbyname(ReverseIPOctets($_SERVER['REMOTE_ADDR']).".".$_SERVER['SERVER_PORT'].".".ReverseIPOctets($_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org")=="127.0.0.2") {
return true;
} else {
return false;
}
}
function ReverseIPOctets($inputip){
$ipoc = explode(".",$inputip);
return $ipoc[3].".".$ipoc[2].".".$ipoc[1].".".$ipoc[0];
}
良いリファレンスはそれが何をしているのかを説明しています:
更新:
Torの公式 doc より、exitnodes ip listをテストする古い方法の欠点を軽減するTorDNSELメソッドについて説明します。
接続がTorノードからのものかどうかを判断することは、さまざまな理由で役立ちます。特定のIPアドレスがTor出口であるかどうかを判断する初期の試みは、ディレクトリを使用してIPアドレスと出口ポリシーを照合しました。このアプローチには、TorルーターがORポートがリッスンするポートとは異なるIPアドレスからトラフィックを終了するときの偽陰性など)のような多くの欠点がありました。Tor DNSベースの出口リストは、これらの問題は、質問に答えるためのシンプルなインターフェースを提供します:これはTor出口ですか?
Rubyには、このテクニックを実装するクールな Tor.rb gem があります:
Tor::DNSEL.include?("208.75.57.100") #=> true
Tor::DNSEL.include?("1.2.3.4") #=> false
彼らはTor出口ノードのアドレスを知っています。したがって、彼らはあなたのアドレスをチェックして、それが出口ノードの1つと一致するかどうかを確認します。
出口ノードはTorネットワーク全体に認識されています。1つの出口ノードを実行する場合は、それを正しくアドバタイズする必要がありますか?そうでなければ誰もそれを使用しません。その後、人々はあなたのIPがTor出口ノードであることを知るでしょう。シンプル。
TorDNSEL ;を使用して、接続がtor出口点であるかどうかを確認できます。したがって、スクリプトをコーディングして、すべての接続をチェックできます。
「TorDNSELは、Tor出口ノード用のアクティブテスト、DNSベースの出口リストの実装です。」