問題タブ [traceroute]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1687 参照

python - Pythonでの複数のホストのtraceroute

ホスト名のリストに対して traceroute を実行するスクリプトを作成しています。私がやろうとしているのは、テキストファイルからホスト名を1行ずつ読み取り、サブプロセスを使用して各ホストのtracertを実行し、結果を別のファイルに書き込むことです。ここに私のコードがあります

私の問題は、このスクリプトが 1 つのホスト名 (または 1 行) を持つホスト ファイルに対してのみ機能することです。ホスト ファイルに複数の行が含まれている場合、たとえば: hostname1.com hostname2.com hostname3.com 最初の 2 行についてこの通知が表示されます。

「ターゲット システム名 hostname1.com を解決できません」

「ターゲット システム名 hostname2.com を解決できません」

そして、最後の行の tracert 結果のみを提供します。

スクリプトの何が問題なのかわかりません。修正を手伝ってください。どうもありがとう。

スティーブン

0 投票する
1 に答える
6823 参照

c - MSG_ERRQUEUEフラグを使用してrecvmsgからICMPペイロードを読み取ります

私はBSDソケットを使用して、root権限(tracepathなど)を必要としない高度なtracerouteプログラムを構築しています。UDPとバインドされたソケットを使用して、次のように呼び出します。

以前に送信されたパケットがトリガーされたと想定されるICMP通知に関する情報を受け取ります。ICMPペイロード(以前に送信されたパケットである必要があります)にアクセスできるかどうか知っていますか?

私はrecvmsgのマニュアルページから読みました:

しかし、そこには有用なものが見つかりません。ランダムなデータのようです(wiresharkを使用してデータをクロスチェックしました)。

0 投票する
0 に答える
370 参照

python - ネットワーク ツール、関数型プログラミング スタイル

ここで正直に言うと、関数型プログラミングに関しては、それについて読んだり、単純な問題を解決したりする以上のことはしませんでした。簡潔で保守しやすいソース コードのアイデアは気に入っていますが、このパラダイムを使用する理由が見つかりませんでした。今日まで: いくつかのネットワーク ツール (tracerouteまたは などping) を Python で実装し、可能な限り "機能的" になるように ( 、scapyfunctoolsおよびを使用して) したいと考えていますitertools。まず、ping:

そして、traceroute:

さて、質問:

  • このコードをより「機能的」にするにはどうすればよいでしょうか?
  • traceroute不必要な副作用を導入することなく、さらに複雑にするにはどうすればよいですか (たとえば、タイムアウトが 3 回連続して停止するなど)。
  • 命令型/オブジェクト指向の罠に陥らずにsr(世界へのインターフェース) 動作 (RTT に応じてタイムアウトを変更するなど) を変更するにはどうすればよいですか?ping
  • ネットワークツールを実装するのに十分なだけでなく、「より機能的」であることを強制する純粋な(r)関数型言語はありますか?
  • takeuntilPython のに追加するのを忘れたのは誰itertoolsですか?
0 投票する
2 に答える
14203 参照

php - PHPスクリプトからTracerouteへ?

GoDaddy共有LinuxサーバーでPHPを実行しているWebサイトがあります。ユーザーが会社のVPNに接続しているかどうかを確認する必要があります。$ _SERVER ['REMOTE_ADDR']を実行するだけで、クライアントのIPアドレスがわかります。ただし、tracertを使用してさらに深く掘り下げることができれば、2番目のホップが企業のIPアドレスとして表示されます。

PHPを使用してWebページからtracerouteを実行し、ユーザーが会社のスプリットトンネルVPNに接続しているかどうかを判断することはできますか?

0 投票する
1 に答える
935 参照

php - PHP で実行された traceroute 出力からのデータを解析する

私の主な意図は、PHP を介して実行された traceroute コマンドから返されたデータを解析することです。

返される出力は次のようなものです

までのルートをたどる

毎回出力を解析または取得したい、

私はこれを試しました

これにより、私が考えるホップの最大数が得られます。次のような単一の出力を取得するための同様のコマンドがある場合

たぶん、ループなどに含めることができます。

0 投票する
2 に答える
11398 参照

traceroute - Tracerouteの印刷アスタリスク記号

tracerouteUNIXプログラムを使用してホストへのルートを見つけようとしています。

試しtraceroute www.google.comてみたところ、アスタリスクしか印刷されていませんでした。インターネット上の例でも同じコマンドを使用しており、うまく機能しているようです。スイッチwaitimeを使って値を上げてみました。-wそれでも動作しません。

0 投票する
2 に答える
21432 参照

android - アプリケーションから traceroute コマンドを実行する方法

アプリケーションから traceroute コマンドを実行したいと考えています。
どうすればいいですか?

動作していません。

java.io.IOException: exec() の実行中にエラーが発生しました。コマンド: [traceroute, -4, google.com] 作業ディレクトリ: null 環境: null 11-02 12:51:38.399: E/trace(1604): at java.lang.ProcessManager.exec(ProcessManager.java:224)

NDKなどを使用するような別の方法はありますか?
私を助けてください。

0 投票する
2 に答える
5823 参照

php - PHPでtracerouteホップのリストを取得する

shell_exec("traceroute IPaddress)戻り値traceroute to IPaddress (IPaddress), 30 hops max, 40 byte packets

問題が発生した場所を特定できるように、ホップの実際のリストを取得するにはどうすればよいですか?

0 投票する
1 に答える
492 参照

filtering - traceroute の出力をフィルタリングする

traceroute によって返されたデータをフィルタリングする方法について、助けが必要です。

このコマンドによって返される IP をチェックするbash スクリプトを実行しています。

「$IP」の値に基づいて、「expect」コマンドを実行して、スイッチ内のパラメーターを変更します。

bash スクリプトは、ルート crontab を介してスケジュールされます。

問題の説明 そのbashスクリプトを実行しているcrontabは、このようなログを生成しています

お気づきのように、expect スクリプトを実行すると問題が発生し、traceroute ラインは正しい IP (192.168.3.25) の代わりに「*」を返し始めます。なんらかの理由で、スイッチで変更を行った後、約 20 分間、traceroute が 1 行少なく返されると思います (スイッチの IP を示す最初の行が欠落しています)。

traceroute から返される値をいくつかの方法でテストしましたが、awk を使用して traceroute から返された値をフィルタリングすることは避けるべきだと思います。これは、私が知る限り、awk を使用することで、「NR」を使用して行をフィルタリングできるためです。そのため、特定の値 (つまり、1 つの特定の IP) を検索するためにこれらの値をフィルタリングする方法がわかりません。

ご協力ありがとうございました。

0 投票する
2 に答える
1238 参照

bash - リストまたはミラーから最速のミラーを見つける

タイトルはすでに私が欲しいものを伝えています。この例について考えてみてください。

ubuntu ISOをダウンロードしたい。Ubuntu サイトにアクセスして、ミラーのリストを取得します。そこで、隣国でミラーがホストされていることがわかりました。だから私は自分の国に地理的に最も近い鏡を選びます。ダウンロードを開始します。しかし、私は非常に遅い速度を取得します。今、私の友人の 1 人が、実際には地理的に私から離れた別のミラーを選択するように言っています。でも今はスピードが出るようになりました。

Linuxで最速のミラーを見つけるにはどうすればよいですか? 次のようなテキストファイルにホスト名のリストがあります

私は何を試しましたか?

Ubunut のミラー選択ダイアログにも同じ機能が表示されます。pingすべてのホストで試してみて、時間を節約しました。次に、レイテンシーの低いホストを選択します。しかし、それは迅速ではありません。その近く。