ইউডিপি পোর্ট সংযোগের পরীক্ষা করা হচ্ছে


37

আমি ইউডিপি-র মাধ্যমে কোনও দূরবর্তী সার্ভারে (যার উভয়টিতেই আমার অ্যাক্সেস রয়েছে) কোনও নির্দিষ্ট বন্দরে পৌঁছতে পারি কিনা তা পরীক্ষা করার চেষ্টা করছি।

উভয় সার্ভারই ​​ইন্টারনেট মুখোমুখি। আমি নির্দিষ্ট বন্দর শোনার জন্য নেটক্যাট ব্যবহার করছি।

আমি তখন সেই বন্দরটি খোলা আছে কিনা তা পরীক্ষা করে দেখার জন্য এনএমএপ ব্যবহার করি তবে এটি প্রদর্শিত হয় না।

Iptables বন্ধ আছে।

কোনও পরামর্শ কেন এমন হতে পারে? আমি শেষ পর্যন্ত একটি ভিপিএন টানেল সেটআপ করতে যাচ্ছি, তবে আমি টানেলগুলিতে খুব নতুন তাই, আমি অগ্রণী হওয়ার আগে ইউডিপি 1194 বন্দরটিতে আমার সংযোগ আছে কিনা তা নিশ্চিত করতে চাই।


আমি "ইউডিপি পোর্ট সংযোগের পরীক্ষার" প্রশ্নের জবাব দিয়েছি। তবে আমি আরও সুনির্দিষ্ট "নিশ্চিত করুন যে ওপেনভিপিএন আমার ইউডিপি প্যাকেট গ্রহণ করবে" অংশটিতে মনোনিবেশ করার পরামর্শ দিচ্ছি - এটি ওপেনভিপিএন লগগুলি দেখে সহজেই অর্জন করা যেতে পারে।
লুক 404

উত্তর:


46

"উন্মুক্ত" ইউডিপি পোর্টের মতো কোনও জিনিস নেই, কমপক্ষে অর্থে বেশিরভাগ লোকেরা ভাবা হয় (যা "ঠিক আছে, আমি আপনার সংযোগটি গ্রহণ করেছি") এর মতো কোনও কিছুর উত্তর দিচ্ছে)। ইউডিপি সেশন-কম, সুতরাং "একটি বন্দর" (পড়ুন: অপারেটিং সিস্টেমের আইপি স্ট্যাকের ইউডিপি প্রোটোকল) নিজেই "সাফল্য" সাড়া দেবে না।

ইউডিপি বন্দরগুলির দুটি মাত্র অবস্থা রয়েছে: শোনা বা না। এটি সাধারণত "প্রক্রিয়া দ্বারা এটিতে একটি সকেট খোলা" বা "কোনও সকেট খোলা না থাকা" তে অনুবাদ করে। পরবর্তী কেসটি সনাক্ত করা সহজ হওয়া উচিত, যেহেতু কোড = 3 (পোর্ট অ্যাক্সেসযোগ্য) পোর্টের সাথে আইসিএমপি গন্তব্য অলক্ষণযোগ্য প্যাকেটের সাথে সিস্টেমের প্রতিক্রিয়া দেখা উচিত । দুর্ভাগ্যক্রমে অনেক ফায়ারওয়াল সেই প্যাকেটগুলি ফেলে দিতে পারে তাই যদি আপনি কিছু ফিরে না পান তবে আপনি নিশ্চিতভাবে জানেন না যে বন্দরটি এই অবস্থায় রয়েছে কিনা। এবং আসুন ভুলে যাবেন না যে আইসিএমপিও অধিবেশন-কম এবং পুনঃপ্রেরণগুলিও করে না: পোর্ট অল্যাচিয়াযোগ্য প্যাকেটটি নেটটিতে কোথাও খুব ভাল হারিয়ে যেতে পারে।

"শ্রবণ" অবস্থার একটি ইউডিপি পোর্ট কোনও প্রতিক্রিয়া জানাতে পারে না (এটি শুনার প্রক্রিয়াটি কেবল প্যাকেটটি গ্রহণ করে এবং কোনও কিছু সংক্রমণ করে না) বা এটি কিছু ফেরত পাঠাতে পারে (যদি প্রক্রিয়াটি অভ্যর্থনা অনুযায়ী কাজ করে এবং যদি এটি দ্বারা কাজ করে) মূল প্রেরক আইপি: পোর্টে ইউডিপির মাধ্যমে প্রতিক্রিয়া জানানো হচ্ছে। সুতরাং আবার, আপনি কিছুই জানতে পারবেন না যদি আপনি কিছু ফিরে না পান তবে রাষ্ট্রটি কী।

আপনি বলছেন যে আপনি প্রাপ্তি হোস্টের নিয়ন্ত্রণ রাখতে পারেন: এটি ইউডিপি পোর্টের পুনঃব্যবহারযোগ্যতা যাচাই করার জন্য আপনার নিজের প্রোটোকল তৈরি করতে সক্ষম করে: কেবলমাত্র ইউসিডি পোর্টটি শুনবে এবং প্রতিক্রিয়া জানাবে (বা আপনাকে প্রেরণ করবে) একটি ইমেল, বা কেবল ফ্রিক আউট এবং unlink()হোস্ট ফাইল সিস্টেমে সমস্ত কিছু ... আপনার দৃষ্টি আকর্ষণ করবে এমন যে কোনও কিছুই করবে)।


ভাবুন আমি এখন বুঝতে পারছি। সুতরাং শ্রবণশক্তি ইউডিপি পোর্ট সহ সার্ভারে একটি নেটস্পট কখনই দূরবর্তী হোস্টটি দেখাবে না ... কেবলমাত্র একটি টিসিপিডাম্প দূরবর্তী অনুরোধগুলি দেখায়?
লক করুন

নেটস্যাট এবং টিসিপিডাম্প উভয়েরই আপনার উপর ডেটা ফেলে দেওয়ার ক্ষমতা রয়েছে, পরেরটি আরও বেশি মানব-পঠনযোগ্য আকারে dump বিশদ জন্য তাদের ম্যান পৃষ্ঠাগুলি দেখুন।
লুক 404

56

ইউডিপি পোর্টটি সাড়া দিচ্ছে কিনা তা পরীক্ষা করতে, ব্যবহার করুন netcat

ম্যান পৃষ্ঠা থেকে একটি উদাহরণ :

nc -v -u -z -w 3 example.host 20-30
    Send UDP packets to ports 20-30 of example.host, and report which ones
    did not respond with an ICMP packet after three seconds.

অবশ্যই, যদি কোনও ফায়ারওয়াল DROPইনিং থাকে, যা সাধারণত ইন্টারনেট-মুখী গেটওয়েগুলি ব্যবহার করার ক্ষেত্রে ঘটে থাকে তবে আপনি কোনও আইএমএমপি সাড়া পাবেন না।


1
এই প্রতিক্রিয়া আমাকে একটি মিথ্যা-ইতিবাচক দিয়েছে, যেখানে বিপরীতে, সাশার উত্তর আমার প্রত্যাশাটি প্রদর্শন করে।
টেক্সাস-ব্রোনিয়াস

@ টেক্সাস-bronius আপনি অন্যান্য সার্ভারে অ্যাক্সেস না থাকে, এটা বিদেশে পথ করতে সম্ভবত ভালো
motobói

27
  1. ক্লায়েন্ট আনস সার্ভারে উভয়ই এনসি ইনস্টল করুন: yum install nc(সেন্টোসের জন্য)
  2. সার্ভারে ইউডিপি পোর্ট শুনুন: nc -ul 6111
  3. ক্লায়েন্ট উপর nc -u <server> 6111
  4. ক্লায়েন্টে কিছু লিখুন এবং এন্টার টিপুন - আপনার সার্ভারে এই পাঠ্যটি দেখা উচিত

দ্রষ্টব্য: আপনি যখন nc -ulসার্ভারে কমান্ডটি চালাবেন , এটি কেবল প্রথম সংযোগটি আসার জন্যই এটি সংযোগ করবে। আপনি পারবেন না, যেমনটি আমি জানতে পেরেছি, সার্ভারগুলিকে থামিয়ে এবং পুনরায় আরম্ভ না করে পিনিংয়ের মধ্যে স্যুইচ করুন nc -ul। আসলে, আপনি যদি ক্লায়েন্ট ( nc -u ...) বন্ধ করেন , আপনি সার্ভার শ্রোতার প্রথমে পুনরায় আরম্ভ না করে ক্লায়েন্টটিকে পুনরায় আরম্ভ করতে পারবেন না।


1
আমি এই চতুর উত্তরটি পছন্দ করি, কারণ এটি ইউডিপি কীভাবে "প্রেরণ করুন এবং ভুলে যান" তার নিজের বোঝাপড়াগুলি (এবং ভুল বোঝাবুঝি!) ফিড করে এবং সমস্ত কনফার্মেশন কেবল সঠিক কনফিগারেশন থেকে পাওয়া যায়। অনেকগুলি কারণ এই প্রতিক্রিয়াটি সত্যিই একটি সহজ, সংজ্ঞাযুক্ত কল এবং প্রতিক্রিয়া দেয় যা হয় কাজ করে বা কাজ করে না, কনফিগার পরিবর্তন করে, ধুয়ে ফেলবে এবং পুনরাবৃত্তি করবে।
টেক্সাস-ব্রোনিয়াস

10

এনএম্যাপের সাহায্যে উন্মুক্ত ইউডিপি পোর্টগুলি পরীক্ষা করা বিপদসঙ্কেত ভরপুর - উন্মুক্ততা নির্দেশ করার জন্য কোনও ত্রি-উপায় হ্যান্ডশেক নেই। শ্রবণ প্রক্রিয়া এনএমএপ যা কিছু প্রেরণ করে তাতে সাড়া না দিলে এনএম্যাপের কোনও খোলা পোর্ট যে সাড়া দিচ্ছে না এবং ফিল্টার করা বন্দর রয়েছে তার মধ্যে পার্থক্য করার কোনও উপায় নেই।

নেটকাট দিয়ে এক প্রান্তে শুনতে এবং প্যাকেটগুলি প্রেরণের জন্য অন্য প্রান্তে নেটক্যাট ব্যবহার করা এবং অন্য প্রান্তে এসে পৌঁছেছে তা দেখতে আরও সহজ। উভয় উপায়ে এটি নিশ্চিত করুন। আপনি এটিও করতে পারেন tcpdumpপ্যাকেট যেখানে তারা যেতে হবে চাওয়ার দেখতে।


আমি দেখছি .. তাহলে এনএমএপ ঠিক কীভাবে একটি খোলা পোর্ট জানবে? এটি কি এই বন্দরে ডেটা প্রেরণ করে এবং যদি এটির কোনও প্রতিক্রিয়া পাওয়া যায় তবে এটিকে ওপেন হিসাবে গণ্য করা হবে? আমি tcpdump এবং নেটক্যাটের সংমিশ্রণটি ব্যবহার করব। আপনার সুস্পষ্ট বর্ণিত উত্তরের জন্য ধন্যবাদ।
লক করুন

9

আমি একটি অনুরূপ সমস্যা পেয়েছি এবং নেটক্যাট ব্যবহার করে একটি ভাল সমাধান এখানে পেয়েছি: http://en.wikedia.org/wiki/Netcat# টেস্ট_আইপি_উডিপিটি_পোর্ট_আইস_ ওপেন : _সিম্পল_উডিপি_সার্ভার_আর_ক্লিয়েন্ট

nc -vzu <host> <port>

আমি নিশ্চিত করতে সক্ষম হয়েছি যে আমার ইউডিপি পোর্টটি উন্মুক্ত ছিল এবং তারপরে আমার আসল কোডটি পরীক্ষা করতে এগিয়ে যেতে পারে।


2

নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনি ইউডিপি পোর্টগুলি স্ক্যান করতে পারেন

nmap -sU -v <hostname or ip>

1

আপনি netcat(এনসি) এর সাহায্যে বা iperfধরে নিতে পারেন, নেটওয়ার্কের বাইরের সাথে পরীক্ষা করার জন্য আপনার কাছে আরও একটি মেশিন রয়েছে। আমার পছন্দটি nmapআপনার পরিবেশের বাইরের কোনও সিস্টেমের ইউডিপি স্ক্যান হবে । আপনার এনএমএপ কমান্ড লাইনটি কী ছিল? মিশ্রণে কি কোনও হার্ডওয়্যার ফায়ারওয়াল বা অন্যান্য ডিভাইস রয়েছে?


1

আমার একটি সহজ-মনের ভাব রয়েছে। যদি ইউডিপি সার্ভার প্রত্যাশিত ডেটা না ফেরায় তবে আমি কেবল ডিজগ্রামগুলি সংগ্রহ বন্ধ করে দিয়ে ধরে নিলাম যে এটি নেমে গেছে:

LINE: while(1)
{
    my $line;
    my $flags;

    local $SIG{ALRM} = sub {die "exceeded timeout for recv"};
    alarm 5;
    eval {
        $socket->recv($line,2024,$flags);
    };

    unless($line =~ /\{.*\}/){
        if($verbose){
            print STDERR "Invalid or empty dgram:\n",'"', $line, '"',"\n";
        }

        last LINE;
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.