কোনও ওপেনভিপিএন সার্ভার ওপেনভিপিএন ক্লায়েন্ট ব্যবহার না করে দূরবর্তী পোর্টে শুনছে তা কীভাবে পরীক্ষা করবেন?


39

আমাকে যাচাই করা দরকার যে কোনও ওপেনভিপিএন (ইউডিপি) সার্ভারটি আপ এবং কোনও প্রদত্ত হোস্ট: পোর্টে অ্যাক্সেসযোগ্য।

আমার কাছে কেবল ওপেনভিপিএন ক্লায়েন্ট (এবং এটি ইনস্টল করার কোনও সুযোগ নেই) এবং একটি সার্ভারের সাথে সংযোগ স্থাপনের জন্য কোনও কীগুলির দরকার নেই এমন একটি সরল উইন্ডোজ এক্সপি কম্পিউটার রয়েছে - কেবল সাধারণ উইনএক্সপি কমান্ড লাইন সরঞ্জাম, একটি ব্রাউজার এবং পিটিটিওয়াই আমার মনোভাবের মধ্যে রয়েছে।

যদি আমি কোনও এসএমটিপি বা পিওপি 3 সার্ভারের মতো কিছু পরীক্ষা করতাম তবে আমি টেলনেট ব্যবহার করতাম এবং তা প্রতিক্রিয়া জানায় কিনা, তবে কীভাবে ওপেনভিপিএন (ইউডিপি) দিয়ে এটি করবেন?


যদি ওপেনভিপিএন টিসিপি দিয়ে চলছে, আপনিও টেলনেট করতে পারবেন
rvs

ওপেনভিপিএন ইউডিপি
আইভান

2
আপনি কেন একটি অপ্রচলিত উইন্ডোজ সিস্টেম থেকে এটিকে সমাধান করতে চান এবং প্রকৃত মনিটরিং সিস্টেম থেকে নয় কেন আপনি তার বিশদ বর্ণনা করতে পারেন?
অ্যালেক্স হলস্ট

2
যদি ইউডিপি ওপেনভিপিএন সার্ভারটি (প্রস্তাবিত) tls-authকনফিগারেশন বিকল্পটি ব্যবহার করে , তবে তা IMPOSSIBLE (যদি আপনার কমপক্ষে বাইরের র‌্যাপার কী না থাকে)! ভুল এইচএমএসি স্বাক্ষরযুক্ত যে কোনও প্যাকেট সার্ভারের প্রতিক্রিয়া ছাড়াই বাতিল করা হবে।
অ্যালেক্স স্ট্রিজি

উত্তর:


51

এখানে একটি শেল ওয়ান-লাইনার রয়েছে:

echo -e "\x38\x01\x00\x00\x00\x00\x00\x00\x00" | 
   timeout 10 nc -u openvpnserver.com 1194 | cat -v

অন্য প্রান্তে যদি ওপেনভিএনপি থাকে তবে আউটপুট হবে

@$M-^HM--LdM-t|M-^X^@^@^@^@^@@$M-^HM--LdM-t|M-^X^@^@^@^@^@@$M-^HM--LdM-t|M-^X...

অন্যথায় এটি 10 ​​সেকেন্ড পরে কেবল নিঃশব্দ এবং সময়সীমা বা ভিন্ন কিছু প্রদর্শন করবে।

দ্রষ্টব্য: tls-authকনফিগার বিকল্পটি সক্রিয় না হলে এটি কেবল কাজ করে , অন্যথায় সার্ভার ভুল HMAC সহ বার্তা প্রত্যাখ্যান করে।


2
আমি কিছুটা আলাদা পাই তবে আমি কিছু পাই। ধন্যবাদ।
আর্টফুলবোট

7
কেবল সুস্পষ্টভাবে বলতে গেলে, এটি উইন্ডোজ নয়, লিনাক্স / ইউনিক্সের জন্য। এবং এর জন্য নেটক্যাট (কিছু ডিস্ট্রোতে ডিফল্টরূপে ইনস্টল করা হয়নি) প্রয়োজন। এছাড়াও, যদি আপনার লিনাক্স ডিস্ট্রোতে "টাইমআউট" কমান্ড না থাকে, কেবল "এনসি-ডাব্লু 10 -u ওপেনভিএনপ্রেসিভার ডটকম 1194" এর মতো নেটক্যাট "-w" প্যারামিটারটি ব্যবহার করুন।
এমভি

1
এটি দুর্দান্ত উপভোগ করছে।
dmourat

2
এটি ওপি দৃশ্যে কাজ করবে না, যদি সার্ভারটি tls-authভুল এইচএমএসি সিগ সহ প্যাকেটগুলি ফেলে দেওয়ার জন্য কনফিগারেশন বিকল্পটি ব্যবহার করে ।
অ্যালেক্স স্ট্রাজি

2
আমি পাইপিংয়ের od -x -N 14চেয়ে পাইপিংগুলি cat -vআরও বেশি দরকারী বলে মনে করি কারণ আপনি ক) এএসসিআইআই আবর্জনার চেয়ে প্রকৃত বাইনারি সামগ্রী দেখতে পারেন এবং খ) সার্ভার প্রতিটি হ্যান্ডশেক প্যাকেট প্রেরণ করার সাথে সাথে আউটপুটটির প্রতিটি লাইন তাত্ক্ষণিকভাবে গ্রহণ করে এবং প্রথমটির পরে অবিলম্বে এটি বন্ধ করে দেয়। -N 14কারণ হ্যান্ডশেক প্যাকেটটি 14 বাইট দীর্ঘ এবং কেবল পুনরাবৃত্তি করে।
বেসজেন

5

দুঃখিত, আমি আমার উত্তর দিয়ে কিছুটা দেরি করলে;)
নিম্নলিখিত বিষয়বস্তু সহ একটি ইউডিপি প্যাকেট প্রেরণ করুন: server
38 $ 01 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00
সার্ভারকে অবশ্যই কিছু প্রতিক্রিয়া জানাতে হবে।
আপনি পাইথন দিয়ে ইউডিপি প্যাকেটগুলি এভাবে নকল করতে পারেন:

import socket
senddata= "\x38\x01\x00\x00\x00\x00\x00\x00\x00"

def checkserver(ip,port):
   print('Checking %s:%s' %(ip,port)) 
   sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
   sock.settimeout(5) # in seconds
   sock.connect((ip, port))
   print("Sending request...")
   sock.send(senddata)
   try:
      dta=sock.recv(100)
      print("Server reply: %s" %(dta))
   except:
      print("Server not responding")
   sock.close()
   print("###########################################################")

def main():
   checkserver("addr.of.server1",1194)
   checkserver("addr.of.server2",1195)

if __name__ == "__main__":
   main()

1
যেমন লুইকের উত্তর বলে, এটি কাজ করে না tls-auth
tedder42

1
পাইথন 3 লাইন 10 একটি সমস্যার কারণ হবে। "Sock.send (সেন্ডডাটা)" "" sock.send (সেন্ডডাটা.এনকোড ()) দ্বারা প্রতিস্থাপন করুন এবং এটি কার্যকর হবে।
এনডিবি

2

আপনি সিএলআই এ নিম্নলিখিত চালানোর চেষ্টা করতে পারেন

#netstat -ltnup

এটি আপনার সার্ভার / সিস্টেমে শুনছে এমন সমস্ত প্রক্রিয়াগুলির তালিকাবদ্ধ করা উচিত। আপনি চান বন্দর নম্বর জন্য গ্রেপ

#netstat -ltnup | grep 1194

ওপিতে কেবল উইন্ডোজ এক্সপি সরঞ্জাম রয়েছে।
ব্যবহারকারী 9517 13: 13 এ GoFundMonica

1
@ আইইন: ওপিতে পিটিটিওয়াই ছিল তাই সার্ভারে এসএসএইচ করতে সক্ষম হতে পারে। সেক্ষেত্রে এই খুব সাধারণ চেকটি একটি দরকারী প্রথম পদক্ষেপ।
mivk

2

যে কেউ tls-authসক্ষম হয়েছে এমন সার্ভারটি নিরীক্ষণের চেষ্টা করছেন তাদের পক্ষে , আপনি এখানে পাইথন স্ক্রিপ্টটি ব্যবহার করতে পারেন: https://github.com/liquidat/nagios-isinga-openvpn

আউটপুটটি নাগিওস বা আইসিংগায় ব্যবহারের জন্য ফর্ম্যাট করা হয়েছে তবে এটি যে কোনও / যেকোনও দ্বারা চালিত হতে পারে, তবে আপনার কাছে অজগর এবং টিএলএস কীফাইল উপলব্ধ থাকে।

উদাহরণস্বরূপ, আপনি যদি SHA256নিজের ডাইজেস্ট হিসাবে ব্যবহার করেন তবে আপনি এমন কিছু ব্যবহার করতে চান:

python check-openvpn.py -p 1194 --tls-auth ta.key --digest SHA256 vpn-server.example.com

দ্রষ্টব্য: আপনার --tls-auth-inverseসার্ভারের key-directionমানের উপর নির্ভর করে সংযোজন করতে হতে পারে ।


0

আপনি যদি ওপেনভিপিএন সার্ভারের মিথস্ক্রিয়ায় বৈধ ওপেনভিপিএন ক্লায়েন্টের পিসি্যাপ পেতে পারেন তবে আপনি টাইজনের পরামর্শ অনুসারে নেট প্যাকেটের মতো কিছু দিয়ে প্যাকেটের প্রাথমিক সেটটি মডেল করতে পারবেন।

মূলত, আপনি সার্ভারকে কমপক্ষে একটি ত্রুটি বার্তার সাথে প্রতিক্রিয়া জানাতে যথেষ্ট বৈধ প্রথম প্যাকেট চান, সুতরাং এটি নিখুঁত হতে হবে না, কেবল যথেষ্ট ভাল।

আমি http://pcapr.net এ যাওয়ার চেষ্টা করেছি , কিন্তু আমি সেখানে ওপেনভিপিএন উদাহরণ দেখতে পাইনি। সম্ভবত, যদি অন্য কেউ পরিষেবাটি শেষ করার দাবি করে থাকে, তবে আপনি সেই অন্য ব্যক্তিকে লেনদেনের এক পিসি্যাপ ধরতে পারেন।


-5

আপনি যদি একটি টিসিপি শোনার ওপেনভিএনপি সেটআপ করেন তবে এটি তার মতোই সহজ

telnet vpnserver 1194

1194 ধরে নেওয়া বন্দরটি আপনি শুনছেন

ওপেনভিএনপি সার্ভারটি শুনছে তা দেখানোর জন্য এটি আপনাকে কোনও ধরণের প্রতিক্রিয়া জানায়


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

6
মনে রাখবেন যে ডিফল্টরূপে ওপেনভিপিএন হ'ল ইউডিপি-কেবল এবং টেলনেট টিসিপি ব্যবহার করতে বোঝায়।
ইভান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.