পোর্ট ফরওয়ার্ডিংয়ের জন্য নেটক্যাট ব্যবহার করা হচ্ছে


20

আমার কাছে এমন একটি প্রক্রিয়া আছে যা শুনবে IP:port- আসলে এটি স্পার্ক স্ট্রিমিং যা একটি সকেটের সাথে সংযোগ স্থাপন করে। সমস্যাটি হ'ল আমি একরকম একটি সার্ভার তৈরি করতে চাই যা একটি পোর্টে স্পার্কের সাথে সংযোগ স্থাপন করে এবং অন্য একটি বন্দর থেকে ডেটা এই সার্ভারে প্রবাহিত হয়।

উদাহরণস্বরূপ, স্পার্ক স্ট্রিমিং উদাহরণ নেটক্যাট ইউটিলিটি ব্যবহার করে (উদাহরণস্বরূপ nc -lk 5005)। তবে আমার কাছে আরও একটি পরিষেবা আছে যা আগত বার্তাগুলি শুনে এবং তারপরে একটি বার্তা থুতু দেয়। সুতরাং আমার এমন একধরণের সার্ভারের দরকার যা পরিষেবা এ থেকে প্রাপ্ত বার্তাগুলি শুনতে এবং এটিকে স্পার্কে পাস করতে পারে।

আমার পরিষেবা এ, সকেটের উপর নির্ভর করে। এবং আমার স্পার্ক গ্রাহক সকেটের উপর নির্ভর করে।

আমি এখন অবধি যা করেছি তা হ'ল বন্দর থেকে বন্দরে ফরোয়ার্ড করা তবে এটি কাজ করে না বলে মনে হচ্ছে:

nc -X 4 -x 127.0.0.1:5005 localhost 5006

এই পরিষেবাটি A:5005-> সকেট -> 5006-> স্পার্ক করুন With

আমি এই কাজটি করার সঠিক উপায় খুঁজে পাচ্ছি না।

কিছু উত্তর নিম্নলিখিত পরামর্শ দিয়েছে:

socat tcp-l:5005,fork,reuseaddr tcp:127.0.0.1:5006

আমার স্পার্ক সকেট রিসিভার সংযুক্ত হতে পারে না বা মনে করতে পারে। আমি ত্রুটি পেয়েছি:Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused


আপনি কি নিশ্চিত যে পোর্ট 5006 খোলা আছে ?! ; এই কমান্ডটি কী করবে তা sudo netstat -nltp
বারপ

উত্তর:


28

আপনি কেবল ncফরওয়ার্ড ট্র্যাফিকের জন্য ব্যবহার করতে পারবেন না , nc নেই keep-aliveবা forkমোডও নেই

পরিবর্তে আপনাকে অবশ্যই অন্য সরঞ্জামগুলি ব্যবহার করতে হবে nc; উদাহরণস্বরূপ ব্যবহার socatবাncat


এই কমান্ডটি পোর্টে শুনুন 5050এবং সমস্তকে পোর্টে ফরোয়ার্ড করুন2020

socat tcp-l:5050,fork,reuseaddr tcp:127.0.0.1:2020

এনকাট হ'ল একটি বৈশিষ্ট্যযুক্ত প্যাকযুক্ত নেটওয়ার্কিং ইউটিলিটি যা কমান্ড লাইন থেকে সমস্ত নেটওয়ার্ক জুড়ে ডেটা পড়তে এবং লিখতে পারে। Ncat Nmap প্রকল্পের জন্য সম্মানজনক নেটকাটের একটি উন্নত পুনরায় বাস্তবায়ন হিসাবে রচনা করা হয়েছিল। এটা

ncat -l localhost 8080 --sh-exec "ncat example.org 80"

এবং আপনি অন্য সরঞ্জামগুলি ব্যবহার করতে পারেন:

1234 পোর্ট শুনুন এবং "1.1.1.1" ঠিকানায় 4567 পোর্টে ফরোয়ার্ড করুন

./proxy tcp -p ":1234" -T tcp -P "1.1.1.1:4567"

বন্দর 1234 শুনুন এবং পোর্ট 4567 থেকে এটি ফরওয়ার্ড করার ঠিকানা এ "1.1.1.1" উৎস

./gost -L tcp://:1234/1.1.1.1:4567

1
ধন্যবাদ, আমি প্রথম সোট পরীক্ষার চেষ্টা করেছি, তবে বিষয়টি হ'ল আমার স্ট্রিমিং উদাহরণটি সেখানে সর্বদা কিছু প্রত্যাশা করে এবং 5006 এ শুনছে - এগুলি না করেই আমি একটি ত্রুটি পেয়েছি।
বিঘ্নজনক

এনক্যাপের কাছে প্রক্সিগুলির বিকল্পও রয়েছে ... যা কিছু আকর্ষণীয় জিনিসের জন্য অনুমতি দেয় ... ( gostযদিও দুর্দান্ত দেখায় ....)
গার্ট ভ্যান ডান বার্গ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.