3

固定 IP:Port に送信された UDP パケットを介してデータを受信する動作中のシステムがあり、プログラム (ある種のプロキシ?) を使用して、それらのパケットのコピーを新しい IP:Port (またはIP:ポート、ただしすべてプログラムと同じ LAN 内)。

コピーされたパケットが元のパケットと同じ送信元 IP アドレスを持つ必要があるため、見た目ほど簡単ではありません。

私の調査では、PCap.Net (WinPCap .NET ラッパー) が有用であることがわかりました。これは、Packet を最初から構築でき、すべてのアドレス フィールドの変更をサポートしているためです。パケットをキャプチャしてビルドすることができました。しかし、なんだか目的地に着いていない(!?)。それらを送受信するために別の PacketCommunicator を使用する必要がありますか?

とにかく、質問は PCap.Net に完全に関連しているわけではありませんが、私の目的を達成するための別の方法を知ることです。無料アプリで?商用アプリケーション?オープンソースのサンプル? 他に使用するライブラリはありますか?

私のシステムは Windows ベースです (ここでは Linux は利用できません)。また、C# (.NET) の経験があります (NET バインディングが利用できない場合、C++ ライブラリは使用できません)。

助けてくれて本当にありがとうございます

4

5 に答える 5

2

私はそれが古い質問であることを知っていますが、これが答えです:

http://code.google.com/p/samplicator/

UDP をリッスンし、それを 1 つ以上の他の IP アドレスに転送し、オプションで (元の) ソース IP アドレスをスプーフィングします。

netflow/sflow/syslog などのパケットの転送に使用されます。

于 2012-10-30T13:17:30.747 に答える
0

送信元IPアドレスを保持し、宛先IPアドレスを変更することに加えて、送信元と宛先のMACアドレスを交換する必要があります。

生のパケットをルーター/スイッチ/モデムに送信したが、MACアドレスがそのアドレスではない場合。ドロップされます。

基本的には、扱うすべてのネットワーク層を修正し、適切にアドレス指定を処理する必要があります。つづりでごめんなさい

于 2011-07-30T01:50:08.597 に答える
0

あなたがやろうとしていることは「UDP転送」と呼ばれています。UDP パケットを受信し、それを別のホストに転送する

これを行うアプリケーションは次のとおりです(無料のようです)

于 2010-12-03T08:07:14.073 に答える
0

最初にネットワークについて考える必要があります。トラフィックがルーターを通過する必要がある場合は、それができない場合があります。元のパケットが通過しました:

ソース - >ルーター - >サーバー

次のように返送しようとしている場合:

サーバー - >ルーター - >別のコンピューター

ルーターの構成によっては、コンピューターから発信されないため、ルーターはこのトラフィックを受け入れることさえできない場合があります。考えてみてください。許可されていれば、誰でもトラフィックを送信できます。

ただし、LANでは非常に実行可能です(スイッチに何らかのMACスプーフィング保護がない限り)

于 2010-12-02T22:44:05.423 に答える
0

ネットフロー リレーなどを行うために宛先アドレスを偽装しようとすると、間にあるアンチスプーフィング ルーターによってブロックされることがよくあります。たとえば、AWSでこれに遭遇しました。

解決策は、RAW udp パケットを取得し、それを別の udp パケット内の新しい宛先に送信することです。宛先に到達したら、パケットを「ラップ解除」してから、ループバック インターフェイスでそれ自体に送信する必要があります (基本的に「ラップ解除」)。

これは、sockets モジュールを使用して Python コードで行うことができます。

于 2016-06-29T22:44:57.260 に答える