मुझे एक ज्ञात टीसीपी होस्ट से आने वाले ट्रैफ़िक में कुछ छोटे संशोधन करने की आवश्यकता है: कनेक्शन से निपटने की प्रक्रिया से पहले पोर्ट स्ट्रीम प्राप्त करें।
उदाहरण के लिए, 192.168.1.88 एक दूरस्थ होस्ट है जो एक वेब सर्वर चलाता है।
मुझे इसकी आवश्यकता है, जब मेरे स्थानीय होस्ट पर एक प्रक्रिया 192.168.1.88:80 (जैसे ब्राउज़र) से डेटा प्राप्त करती है, तो डेटा को पहली बार इस तरह से बदल दिया text-A
जाता है text-B
:
- 127.0.0.1: ... 192.168.1.88:80 से जुड़ता है
127.0.0.1: ... 192.168.1.88:80 पर भेजता है:
GET /
192.168.1.88:80 127.0.0.1 पर भेजता है: ...:
HTTP/1.0 200 OK Content-Type: text/plain Some text-A, some other text
वह डेटा कुछ हद तक सिस्टम द्वारा इंटरसेप्ट होता है और एक प्रोग्राम में जाता है जिसका आउटपुट है:
HTTP/1.0 200 OK Content-Type: text/plain Some text-B, some other text
सिस्टम 127.0.0.1 को हैंडल करने की प्रक्रिया में इतना परिवर्तित डेटा देता है: ..., जैसे कि यह 192.168.1.88:80 से आता है।
यह मानते हुए कि इस परिवर्तन ( sed
उदाहरण के लिए) का उपयोग करने के लिए मेरे पास एक स्ट्रीम-आधारित तरीका है , आने वाली tcp स्ट्रीम को प्री-प्रोसेस करने का सबसे आसान तरीका क्या है?
मुझे लगता है कि इसमें शामिल होगा iptables
, लेकिन मैं इसमें बहुत अच्छा नहीं हूं।
ध्यान दें कि एप्लिकेशन को मूल होस्ट से निपटने के लिए महसूस करना चाहिए, इसलिए प्रॉक्सी सेट करना एक समाधान नहीं है।