খোলা TCP পোর্ট proxy কাজ করে বলে প্রমাণ দেয় না
সফল পোর্ট পরীক্ষা শুধু সংযোগ স্থাপন করে। Proxy handshake এবং গন্তব্যের প্রত্যাশিত প্রতিক্রিয়াও পরীক্ষা করুন।
খোলা TCP পোর্ট বোঝায় listener সংযোগ গ্রহণ করেছে। সেটি proxy, সাধারণ ওয়েব সার্ভার বা অন্য পরিষেবা হতে পারে; পোর্ট 8080 প্রোটোকল শনাক্ত করে না।
HTTP proxy হিসেবে নথিভুক্ত endpoint-এর আসল ঠিকানা সময়সীমাযুক্ত HTTPS অনুরোধে ব্যবহার করুন:
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/
নথির ঠিকানা নিজের HTTP endpoint বা HTTP proxy তালিকার প্রার্থী দিয়ে বদলান। SOCKS-এর জন্য উপযুক্ত SOCKS client mode ব্যবহার করে সমঝোতা শেষ করুন। ভুল handshake TCP গ্রহণের পরপরই ব্যর্থ হতে পারে।
| দেখা ধাপ | যা প্রমাণ করে |
|---|---|
| TCP গৃহীত | Listener-এ পৌঁছানো যায়। |
| Proxy handshake গৃহীত | Listener এই proxy কাজ গ্রহণ করেছে। |
| গন্তব্যের TLS যাচাই হয়েছে | ক্লায়েন্ট তার বিশ্বাসের সেটিং অনুযায়ী নির্ধারিত নিরাপদ সংযোগ সম্পন্ন করেছে। |
| প্রত্যাশিত status ও বিষয়বস্তু এসেছে | অ্যাপ্লিকেশন অনুরোধ প্রত্যাশিত ফল দিয়েছে। |
HTTP proxy দিয়ে HTTPS-এর জন্য গন্তব্য পোর্টে CONNECT অনুমোদিত হতে হবে। এমনকি CONNECT 200-ও মাঝের ধাপ: TLS বা শেষ অনুরোধ সফল হওয়ার আগেই tunnel বন্ধ হতে পারে। সংকেতায়নবিহীন HTTP-এর সাফল্য এই tunnel ক্ষমতা প্রমাণ করে না।
পূর্বানুমানযোগ্য বিষয়বস্তুর গন্তব্য নিন, সম্ভব হলে নিজের নিয়ন্ত্রণের, এবং পাওয়া গেলে অনুরোধ রেকর্ড দেখুন। সংকেতায়নবিহীন HTTP listener লক্ষ্যের সঙ্গে যোগাযোগ না করেই স্থির পৃষ্ঠা status 200 দিয়ে ফেরাতে পারে। যেকোনো সফল status পাওয়া প্রত্যাশিত প্রতিক্রিয়ার সঙ্গে মেলার চেয়ে দুর্বল প্রমাণ; HTTPS পরিচয় যাচাই বাড়তি সুরক্ষা দেয়।
শেষ সফল ধাপ লিখুন। ‘পোর্ট খোলা, SOCKS সমঝোতা প্রত্যাখ্যাত’ পরের অনুসন্ধানের উপযোগী শুরু দেয়।