問題タブ [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.
python - Pythonでの複数のホストのtraceroute
ホスト名のリストに対して traceroute を実行するスクリプトを作成しています。私がやろうとしているのは、テキストファイルからホスト名を1行ずつ読み取り、サブプロセスを使用して各ホストのtracertを実行し、結果を別のファイルに書き込むことです。ここに私のコードがあります
私の問題は、このスクリプトが 1 つのホスト名 (または 1 行) を持つホスト ファイルに対してのみ機能することです。ホスト ファイルに複数の行が含まれている場合、たとえば: hostname1.com hostname2.com hostname3.com 最初の 2 行についてこの通知が表示されます。
「ターゲット システム名 hostname1.com を解決できません」
「ターゲット システム名 hostname2.com を解決できません」
そして、最後の行の tracert 結果のみを提供します。
スクリプトの何が問題なのかわかりません。修正を手伝ってください。どうもありがとう。
スティーブン
c - MSG_ERRQUEUEフラグを使用してrecvmsgからICMPペイロードを読み取ります
私はBSDソケットを使用して、root権限(tracepathなど)を必要としない高度なtracerouteプログラムを構築しています。UDPとバインドされたソケットを使用して、次のように呼び出します。
以前に送信されたパケットがトリガーされたと想定されるICMP通知に関する情報を受け取ります。ICMPペイロード(以前に送信されたパケットである必要があります)にアクセスできるかどうか知っていますか?
私はrecvmsgのマニュアルページから読みました:
しかし、そこには有用なものが見つかりません。ランダムなデータのようです(wiresharkを使用してデータをクロスチェックしました)。
python - ネットワーク ツール、関数型プログラミング スタイル
ここで正直に言うと、関数型プログラミングに関しては、それについて読んだり、単純な問題を解決したりする以上のことはしませんでした。簡潔で保守しやすいソース コードのアイデアは気に入っていますが、このパラダイムを使用する理由が見つかりませんでした。今日まで: いくつかのネットワーク ツール (traceroute
または などping
) を Python で実装し、可能な限り "機能的" になるように ( 、scapy
、functools
およびを使用して) したいと考えていますitertools
。まず、ping
:
そして、traceroute
:
さて、質問:
- このコードをより「機能的」にするにはどうすればよいでしょうか?
traceroute
不必要な副作用を導入することなく、さらに複雑にするにはどうすればよいですか (たとえば、タイムアウトが 3 回連続して停止するなど)。- 命令型/オブジェクト指向の罠に陥らずに
sr
(世界へのインターフェース) 動作 (RTT に応じてタイムアウトを変更するなど) を変更するにはどうすればよいですか?ping
- ネットワークツールを実装するのに十分なだけでなく、「より機能的」であることを強制する純粋な(r)関数型言語はありますか?
takeuntil
Python のに追加するのを忘れたのは誰itertools
ですか?
php - PHPスクリプトからTracerouteへ?
GoDaddy共有LinuxサーバーでPHPを実行しているWebサイトがあります。ユーザーが会社のVPNに接続しているかどうかを確認する必要があります。$ _SERVER ['REMOTE_ADDR']を実行するだけで、クライアントのIPアドレスがわかります。ただし、tracertを使用してさらに深く掘り下げることができれば、2番目のホップが企業のIPアドレスとして表示されます。
PHPを使用してWebページからtracerouteを実行し、ユーザーが会社のスプリットトンネルVPNに接続しているかどうかを判断することはできますか?
php - PHP で実行された traceroute 出力からのデータを解析する
私の主な意図は、PHP を介して実行された traceroute コマンドから返されたデータを解析することです。
返される出力は次のようなものです
までのルートをたどる
毎回出力を解析または取得したい、
私はこれを試しました
これにより、私が考えるホップの最大数が得られます。次のような単一の出力を取得するための同様のコマンドがある場合
たぶん、ループなどに含めることができます。
traceroute - Tracerouteの印刷アスタリスク記号
traceroute
UNIXプログラムを使用してホストへのルートを見つけようとしています。
試しtraceroute www.google.com
てみたところ、アスタリスクしか印刷されていませんでした。インターネット上の例でも同じコマンドを使用しており、うまく機能しているようです。スイッチwaitime
を使って値を上げてみました。-w
それでも動作しません。
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などを使用するような別の方法はありますか?
私を助けてください。
php - PHPでtracerouteホップのリストを取得する
shell_exec("traceroute IPaddress)
戻り値traceroute to IPaddress (IPaddress), 30 hops max, 40 byte packets
問題が発生した場所を特定できるように、ホップの実際のリストを取得するにはどうすればよいですか?
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) を検索するためにこれらの値をフィルタリングする方法がわかりません。
ご協力ありがとうございました。
bash - リストまたはミラーから最速のミラーを見つける
タイトルはすでに私が欲しいものを伝えています。この例について考えてみてください。
ubuntu ISOをダウンロードしたい。Ubuntu サイトにアクセスして、ミラーのリストを取得します。そこで、隣国でミラーがホストされていることがわかりました。だから私は自分の国に地理的に最も近い鏡を選びます。ダウンロードを開始します。しかし、私は非常に遅い速度を取得します。今、私の友人の 1 人が、実際には地理的に私から離れた別のミラーを選択するように言っています。でも今はスピードが出るようになりました。
Linuxで最速のミラーを見つけるにはどうすればよいですか? 次のようなテキストファイルにホスト名のリストがあります
私は何を試しましたか?
Ubunut のミラー選択ダイアログにも同じ機能が表示されます。ping
すべてのホストで試してみて、時間を節約しました。次に、レイテンシーの低いホストを選択します。しかし、それは迅速ではありません。その近く。