Saya mendapat aplikasi (tanpa kode sumber) memanggil server (IP kode keras) dan mengharapkan jawaban sebelum memulai (semacam login).
Karena server turun separuh waktu, saya ingin membuat server dummy yang akan meniru perilaku server resmi.
Masalahku:
Bagaimana saya bisa mengarahkan lalu lintas ke mesin lokal saya?
Saya ingin semua permintaan kirim ke IP wxyz untuk dialihkan ke localhost (di mana server dummy saya berjalan)
Info lebih lanjut:
- server dummy saya adalah solusi apache / php.
- Saya mencoba mengedit IP kode keras dalam aplikasi dengan hex editor, tetapi beberapa checksum gagal ketika saya memulai aplikasi.
- karena IPnya sulit dikodekan dalam aplikasi, saya tidak bisa menggunakan file hosts.
- Saya menjalankan win xp.
terkait: Cara mengarahkan lalu lintas ke satu IP ke IP yang berbeda di Windows Server 2008
Anda dapat mencoba yang berikut ini:
Siapkan rute tertentu untuk alamat IP itu, yang akan menggunakan server dummy sebagai gateway, seperti ini:
Untuk ini, Anda akan memerlukan akses ke router utama untuk jaringan Anda, atau Anda harus melakukannya pada mesin yang mengirim permintaan. Ini secara efektif mengirimkan paket TCP dengan alamat IP wxyz ke alamat MAC server-dummy. Jadi sekarang Anda perlu memastikan server dummy tahu apa yang harus dilakukan dengan mereka.
Kemudian tambahkan alamat IP wxyz sebagai alamat sekunder ke server dummy.
Akhirnya perbarui konfigurasi apache pada server dummy untuk memastikannya juga mendengarkan pada alamat wxyz, dan pastikan bahwa vhost di server dummy menerima permintaan masuk untuk alamat IP dan nama domain.
Harap dicatat bahwa ini hanya akan berfungsi jika tidak ada router lain antara mesin yang meminta dan server dummy. Dan jika ada firewall yang terlibat, mereka juga perlu memperbarui.
sumber
Anda mungkin bisa menggedor sesuatu bersama iptables. Ini adalah sesuatu yang pernah saya gunakan tetapi tidak lagi dilakukan untuk memberi Anda pijakan:
NB: Saya sudah lama melakukannya, mungkin ada kesalahan di sana
Satu-satunya hal yang saya lihat yang mungkin menjadi masalah adalah bahwa itu khusus untuk antarmuka. Saya pikir eth0 hanya untuk bagian inbound, jadi gunakan ip pada antarmuka lo (127.0.0.1) karena target mungkin masih berfungsi ...
sumber