問題タブ [icmp]
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.
ip - Traceroute はどのようにして Hops のドメイン名を知ることができますか?
ICMP プロトコルとツールtracerouteを勉強しています。ICMP データグラムで IP しか見つからない場合、traceroute がホップのドメイン名を検索する方法がわかりません。それはどのように機能しますか?
ありがとうございました!
c++ - PIO_APC_ROUTINE で IcmpSendEcho2 を使用するには?
私は C++ の初心者で、IcmpSendEcho2で「ping ツール」を作成しようとしていますが、APC で動作させることができません。
私はこのコンパイルエラーに遭遇しています:
これは私の APC 宣言です。
これは私の APC 定義です。
IcmpSendEcho2 の作成方法は次のとおりです。
これを見つけたので、「(PIO_APC_Rountine) GotIt」で済むと思ったのですが、どうやら何かが足りないようです。
追加情報が必要な場合はお知らせください。
ありがとうございます。
python - すべてのICMP時間超過メッセージを取得していない:なぜですか?
Scapyを使用して、TTL値を変更したダンプされたパケットを再生しています。TTL=1でも非常に奇妙な結果が得られています。
テスト時間を互いに離して実行すると、ICMP time-exceededメッセージで応答されたパケットの約40%から95%を取得できます。次に、未応答のパケットを再帰的に再生し、毎回、以前とほぼ同じ割合の応答済みパケットを取得できます。
何故ですか?
0.1秒間隔でパケットを送信しています。これで大丈夫ですよね?私のタイムアウト値は10秒です。これは非常に控えめなはずです。
ここで何が問題になっていますか?
c++ - Windowsソケットエラー10013
これがプログラムのコードで、単純な「ping」を送信する必要があります。IcmpSendEcho2()
関数を使用できることは知っていますが、次のようにすることにしました。
そしてここに問題があります。機能するまで、すべてが正常にsendto()
機能しています。10013エラーコードフォームが表示されます。これは
、このアプリケーションのwitch admin特権を開始しWSAGetLastError()
たことを意味します。そのため、このソケット構成を使用してデータを送信できない理由がわかりません。WSAEACCES Permission denied
c# - TcpClient タイムアウト ICMP ポートに到達できません
次のコードを取得しました。
サーバーはすぐに ICMP port-unreachable を返しますが、プログラムは 10054 エラーでタイムアウトするまで約 30 秒かかります。
ファイアウォールをオフにし、wireshark もパケットをキャプチャしているため、Windows 構成の問題ではありません。
TcpClient にポート到達不能パケットを認識させるにはどうすればよいですか?
c - icmp.c チェックの有効期限が切れる場所
kernel-3.0.26 code net/ipv6/icmp.c
で、タイマーの期限切れをチェックする ICMP 応答の送信中。ルーター広告によって与えられた値を確認する必要がありますか? 有効期限の値は(行番号:1284)rt->rt6_expires
に格納されていると思います。ndisc.c
次に、ICMP 応答を送信するときに、有効期限タイマーをチェックする必要がありますか? そのチェックはどこで行われますか?誰か説明してください。
前もって感謝します。私の悪い英語でごめんなさい。
size - ICMPタイプ11パケットペイロードのサイズ
タイプが11の場合、つまり時間を超えた場合のICMPパケットペイロードのサイズはどれくらいですか。IPヘッダーとICMPメッセージを生成するIPパケットペイロードの最初の8バイトが含まれているため、そのサイズは20 + 8=28だと思いました。
TTL=1で一般的なユーザートラフィックを再生しています。ダンプしたICMPメッセージで、次のことに気づきました。
- UDPパケットによって生成されたすべてのICMPパケットには、28バイトのサイズのペイロードがあります
- TCPパケットによって生成されたものはすべて、サイズ40バイトのペイロードを持っています
ICMP時間超過メッセージを、それらのバイトを比較することによってそれらをトリガーしたパケットと照合する必要があるため、この情報は不可欠ですが、なぜこれが発生するのかわかりません。
python - Scapy のバグのある動作
Scapy の関数を使用send
して、ルーターで ICMP パケットを生成するデータ パケットを送信し、それらの ICMP パケットをtcpdump
子プロセスとして起動してダンプします。
次に、scapy の組み込みrdpcap
関数を使用して、これらの ICMP パケットをプログラムに読み込みます。
さて、時々何かを台無しにすることが判明しrdpcap
、キャプチャしたパケットをのぞき見したいとすぐに、次のように返されます。
次に、同じrdpcap
引数で再度呼び出すだけで、すべてが正常に戻ります。
これはバグですよね?
編集: OK、そのエラーが発生する前に私が行うことの 1 つは次のとおりです。これはあまり正統的ではないかもしれませんが、パケットを偽造するときにイーサネット層は必要ありません。これらの 2 行を削除すると、そのようなエラーは発生しなくなります。
私は以前にこれを他の場所で行いましたが、問題は発生しませんでした。ここで何が起こっているのですか?
java - JavaアプリケーションからホストするPingtimeを測定する
サーバーのリストへのping遅延時間を測定する方法を探しています。jvmの計算時間ではなく、可能な限り正確に測定されるのは実際のパケット遅延のみであることが重要です。
いくつかの側面はここでの回答でカバーされています:Windowsから真のJavapingを実行する方法は?
InetAddress.isReachable(timeout)の時間を測定することは、pingを実行する必要のある一部のサーバーに対して機能しなかったため、オプションではないと思います。
私がこれまでに得た最も近いものは、上記のリンクの回答に示されているように、processbuilderを使用することです。
jpcapライブラリも見つけました:http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.htmlですが、ネイティブに移行するにはコストがかかります。
python - PythonでICMPメッセージの送信元アドレスを設定するにはどうすればよいですか?
メッセージに別の送信元アドレスを設定できるように、このpingの実装を変更しようとしています。私がやりたい-S
のは、元のpingのオプションで実行できることとまったく同じです。
これはもちろん機能しますが、Pythonでも同じことをしたいと思います。