0

ngrep や perl を使用してソケットの受信データ ストリームを監視し、この場合のように適切な文字が到着したら、文字列 "192.168.1.101:8080" をデータ ストリームに入力します。 「192.168.1.102」などの別の IP アドレスにリダイレクトする

これは可能ですか?

4

2 に答える 2

0

これは、Perl で簡単に実行できます。

例としてperldoc perlipcIO::SocketおよびIO::Selectを見てください。

Beej の Guide to Network Programmingも役立つかもしれません。例はすべて C で書かれていますが、Perl のネットワーキング API は C 風味にかなり近いものです。

于 2010-04-03T23:27:54.630 に答える
0

もちろん、それは可能です。

アルゴリズム/アプリケーションには次が必要です。

  • MiM リッスン サーバー (ソケット セッション ソケットの作成)
  • MiM での握手:
  • (バイナリプロトコルではなくテキストストリームが使用されている場合に最適です)
  • クライアントから recv し、メッセージを解析してから:

  • IP が入ってきた場合は、ターゲット サーバー/ポートへのソケットを開くか、既に開いているソケットを使用します。

  • メッセージまたはメッセージの残りの部分をターゲット サーバーに送信する
  • クライアントとターゲット サーバー間の通信を提供する (ゲートウェイとして動作)
  • recv() クライアントまたはサーバーおよび send() 適切な側に戻す

一般的なアドバイス: select() または epoll() を操作し、より高度でより良いアプローチをとってください。

于 2010-04-03T22:56:42.630 に答える