3

ご挨拶。

私は自分の会社からプロジェクトに取り組んでいます。私たちの古い技術者の1人によって書かれたアプリケーションがあります-彼はポルノのウェブサイトの仕事を閲覧したために解雇されました。残念ながら、彼は私たちのアプリケーションのソースコードを持って行き、私たちの外部サーバーのIPアドレスをそれにハードコーディングしました。最近サーバーを変更したため、アプリケーションがデータベースにアクセスしようとする場所を変更する必要があります。私は本当に車輪の再発明をしたくないし、アプリケーションを作り直したい...

routeコマンドを使用してみましたが、サイコロがありません。

route -p [new server] mask 255.255.255.255 [old server] metric 50 if [interface]

新しいボックスのポート80に一時的なWebサーバーをセットアップし、マシンのブラウザーに古いIPアドレスを入力し、そのルートをテーブルに追加しましたが、それでも古いサーバーにアクセスしました。

ルートコマンドを機能させるためのヘルプ、またはもっともらしい代替手段はありますか?例:リダイレクトするソフトウェア、ルーターのトリック...など。

  • 注:プライベートdnsサーバーで名前の逆引き参照を使用しようとしましたが、失敗しました。
4

5 に答える 5

4

Since the IP address is hardcoded in the binary, you can probably grep for it. It's probably represented as four bytes. You can then replace it with the new IP address using a hex editor.

于 2011-05-02T15:37:36.790 に答える
2

ルート上のどこかにiptablesファイアウォールがあるとすると、DNATを使用できます。

iptables -t nat -A PREROUTING -d [old server] -j DNAT --to-destination [new server]

[old server]にアドレス指定されたパケットを確認し、への有効なルートがある限り、これを正確にどこで実行してもかまいません。その[new server]ため、アプリケーションを実行しているホスト、中間ルーター、またはエッジファイアウォール上にある可能性があります。

もちろん、バイナリ自体の内部のアドレスをいつでも編集できます。

于 2011-05-02T15:07:09.267 に答える
0

ファイアウォール/ルーターで、そのパブリックIPのNATを設定して、新しいプライベートIPにルーティングするようにします。

于 2011-05-02T15:04:01.277 に答える
0

You can't just add a route to the new sever like you mentioned, because at the first router hop the packet will be routed to the old server.

You might be able to point the route at the local host, add the old server as an IP address on a local interface, and write a proxy server to forward the requests to the old server.

The best option IMO is to figure out how to decompress the binary and hex edit it. Do you know what language it's written in? Or call your lawyer to get the source code back. =)

于 2011-05-03T03:46:42.933 に答える
-1

hostsファイルを使用して、外部IPへのすべての要求をローカルIPにルーティングします。http://en.wikipedia.org/wiki/Hosts_(file)

于 2011-05-02T15:03:54.270 に答える