শেল স্ক্রিপ্টে টেলনেট ব্যবহার করা


8

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

telnet 10.10.10.24 3306

আমি সংযোগ বিচ্ছিন্ন করতে ctrl অক্ষর ব্যবহার করি। এটি প্রত্যাশার মতো কাজ করছে। আমি শেল স্ক্রিপ্টে এই কমান্ডটি কীভাবে ব্যবহার করব?


আসলে, জান্নার প্রস্তাব হিসাবে নতুন লাইনের সাথে প্রতিধ্বনি করুন এবং -w সহ একটি বুদ্ধিমান টাইমআউট মান যুক্ত করুন।
3molo

উত্তর:


12

আপনি যদি কেবল পোর্টটি খোলা আছে কিনা তা খতিয়ে দেখতে চাইলে চেষ্টা করুন:

$ nc -zv 10.10.10.24 3306
Connection to localhost 3306 port [tcp/mysql] succeeded!

ncবন্দরটি খোলা থাকলে 0 এবং 1 না থাকলে ফিরে আসবে। এটি স্ক্রিপ্টিংয়ের জন্যও বেশ সহায়ক। vস্যুইচটি চুপ করে রাখতে ছাড়ুন :

if ! nc -z 10.10.10.24 3306
then
    do_something
fi

ধন্যবাদ। তবে -z সুইচ সার্ভারে কাজ করছে তবে অন্যটিতে কাজ করছে না। আমার কি এনসি কমান্ডের সংস্করণ পরীক্ষা করা দরকার?
শান্তনুও

সম্ভবত। কোনটি কোন সংস্করণটি কাজ করছে না?
কেকমক্স

-Z সুইচটি সঠিকভাবে কাজ করছে। আমি ভুল ছিলাম, উপরের মন্তব্যটি উপেক্ষা করুন।
শান্তানুও

9

ncঅ ইন্টারেক্টিভ ব্যবহারের জন্য অনেক ভাল। এরকম কিছু চেষ্টা করুন

echo -e "\n\n" | nc 10.10.10.24 3306

যদি আমি এটি সম্পাদন করি তবে আমি কিছুটা আউটপুট পাই, তবে কমান্ডটি প্রস্থান করে না। কেউ জানেন কেন?
ক্রিস্টোফ ওর্ম

হুম? এটি প্রস্থান করা উচিত।
জান্নে পিক্কারাইন

4

আপনার কাছে এনসি না থাকলে আপনি ব্যাশ বিশেষ ফাইলগুলি পুনর্নির্দেশগুলি ব্যবহার করতে পারেন:

head -1 < /dev/tcp/10.10.10.24/3306 >/dev/null && echo MySQL is on || echo MySQL is off


1

এটি কোনও নির্দিষ্ট ক্ষেত্রে আমার স্ক্রিপ্ট।

host=localhost
DATE=`date +%Y-%m-%d`
TIME=`date +%H%M%S`
LOG_OK=/tmp/telnet_ok
LOG_FAIL=/tmp/telnet_falha

for port in 80 25 22 443 110
do
if telnet -c $host $port </dev/null 2>&1 | grep -q Escape; then
  echo "$DATE $TIME  $port: Connected" >> $LOG_OK
else
  echo "$DATE $TIME $port : no connection" >> $LOG_FAIL
fi
done

http://fajlinux.com.br/2014/10/10/script-monitorando-via-telnet/


0

আমি নেটক্যাট ব্যবহার করব এবং এর পরিবর্তে এটি '-w';

হোস্ট: ~ ব্যবহারকারী $ nc -w 1 1.2.6.1 3306
?
5.1.57-1 ot dotdeb.1? WO`rA * L # h? B4z.pmT; i ~ ^; হোস্ট: ~ ব্যবহারকারী $ 

0

বাশ শেল / প্রত্যাশায় টেলনেট কীভাবে ব্যবহার করবেন তা এখানে

#!/usr/bin/expect
# just do a chmod 755 one the script
# ./YOUR_SCRIPT_NAME.sh $YOUHOST $PORT
# if you get "Escape character is '^]'" as the output it means got connected otherwise it has failed

set ip [lindex $argv 0]
set port [lindex $argv 1]

set timeout 5
spawn telnet $ip $port
expect "'^]'."
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.