প্রমাণীকরণের সাথে কোনও HTTP প্রক্সিটির পিছনে এনটিপিডিট ব্যবহার করা কি সম্ভব? যদি এটি সম্ভব না হয় তবে কোনও ভাল বিকল্প আছে কি?
প্রমাণীকরণের সাথে কোনও HTTP প্রক্সিটির পিছনে এনটিপিডিট ব্যবহার করা কি সম্ভব? যদি এটি সম্ভব না হয় তবে কোনও ভাল বিকল্প আছে কি?
উত্তর:
এটি tlsdate জন্য একটি পরিষ্কার ক্ষেত্রে মত মনে হচ্ছে।
tlsdate: secure parasitic rdate replacement
tlsdate sets the local clock by securely connecting with TLS to remote
servers and extracting the remote time out of the secure handshake. Unlike
ntpdate, tlsdate uses TCP, for instance connecting to a remote HTTPS or TLS
enabled service, and provides some protection against adversaries that try
to feed you malicious time information.
আমি মনে করি না যে আমি কোনও সুডো অনুরোধের যুক্তি হিসাবে ইন্টারনেট থেকে নিরবচ্ছিন্ন ডেটা ব্যবহার করার জন্য এতগুলি প্রস্তাবনা দেখেছি।
উপর সম্প্রসারিত carveone দ্বারা উত্তর :
sudo date -s "$(wget -S "http://www.google.com/" 2>&1 | grep -E '^[[:space:]]*[dD]ate:' | sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' | head -1l | awk '{print $1, $3, $2, $5 ,"GMT", $4 }' | sed 's/,//')"
ধরে নেওয়া যাক এনভায়রনমেন্ট ভেরিয়েবল http_proxyহয় ইতিমধ্যে সেট :
sudo date -s "$(curl -H'Cache-Control:no-cache' -sI google.com | grep '^Date:' | cut -d' ' -f3-6)Z"
আমরা প্রথমে পুনরুদ্ধার তারিখ / সময় যাচাই করতে পারি:
# local date/time
date -d "$(curl -HCache-Control:no-cache -sI google.com | grep '^Date:' | cut -d' ' -f3-6)Z"
# or UTC date/time
date -ud "$(curl -HCache-Control:no-cache -sI google.com | grep '^Date:' | cut -d' ' -f3-6)"
কেবলমাত্র ক্ষেত্রে, এর জন্য কিছু নির্দিষ্ট বিকল্পের প্রয়োজন হতে পারে curl:
curl -x $proxy
প্রক্সি সার্ভারটি স্পষ্টভাবে ব্যবহার করার জন্য সেট করতে, যখন http_proxyপরিবেশের পরিবর্তনশীল সেট না করা হয়, প্রটোকল httpএবং পোর্টে ডিফল্ট 1080
( ম্যানুয়াল )।
curl -H 'Cache-Control: no-cache'
স্পষ্টভাবে ক্যাশে অক্ষম করতে , বিশেষত যখন ক্রোন জব এবং / অথবা প্রক্সি সার্ভারের পিছনে ব্যবহৃত হয়।
বিকল্প রূপটি RHEL 6 এর সাথে পরীক্ষিত যা আউটপুটে "জেড" যুক্ত করার পরিবর্তে ডেটে '-u' বিকল্পটি ব্যবহার করে:
sudo date -u --set="$(curl -H 'Cache-Control: no-cache' -sD - http://google.com |grep '^Date:' |cut -d' ' -f3-6)"
বিটিডাব্লু, google.comএর চেয়ে বেশি পছন্দ করা হয়েছে www.google.comকারণ পূর্ববর্তী ফলাফলগুলি 301পুনর্নির্দেশের প্রতিক্রিয়াতে দেখা যায় যা অনেক ছোট ( 569বনাম 20k+অক্ষর) তবে এটি ব্যবহার করা ভাল।
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
wgetসংস্করণটি হ'ল যদিও আমি ব্যক্তিগতভাবে ব্যবহার পছন্দ করি curl।
যদি এটি বিশুদ্ধরূপে কোনও এইচটিটিপি প্রক্সি হয় তবে এটি পোর্ট ৮০ ব্যবহার করছে, সুতরাং প্রাথমিক উত্তরটি বিশেষভাবে এতে নেই। এনটিপি ইউডিপি পোর্ট 123 ব্যবহার করে। এটি যদি আরও জেনেরিক প্রক্সি সার্ভার হয়, সমস্ত বন্দর পরিবেশন করে, তবে সম্ভবত।
কিছু প্রোগ্রাম আছে যেগুলি HTTP- র মাধ্যমে এনটিপি করে। আমি লিনাক্স ব্যবহার করি না, তবে এটি এটি করতে পারে:
http://www.rkeene.org/oss/htp/ (এটি এখনও প্রমাণীকরণ করবে কিনা তা নিশ্চিত নয়)।
আমি উইন্ডোজটির জন্য একটিও পাইনি, তবে আমি যদি তা করি তবে আমি আবার পোস্ট করব।
একটি http প্রক্সি সার্ভারের পিছনে লোকের জন্য একটি দ্রুত এবং নোংরা সমাধান:
আমার অবস্থান GMT + 4, আমি আপনার অবস্থানের জন্য ওয়েবসাইটটি চেকআউট করার জন্য আরও তথ্যের জন্য url http://www.timeapi.org/utc/in+four+hours এর মাধ্যমে টাইমাপি সার্ভার থেকে বর্তমান সময়টি যাচাই করতে পারি ।
তারিখ ও সময় সেটআপ করতে আমি করি:
time sudo date $(wget -O - "http://www.timeapi.org/utc/in+four+hours" 2>/dev/null | sed s/[-T:+]/\ /g | awk '{print $2,$3,$4,$5,".",$6}' | tr -d " " )
প্রাথমিক 'সময়' কমান্ড যদি উচ্চ মানের রিপোর্ট করে তবে আপনি আদেশটি পুনরাবৃত্তি করতে পারবেন ...
sudo date -s "$(curl -s http://www.timeapi.org/utc/now)"আপনার ওএস সঠিকভাবে সেট করা থাকলে আপনাকে টাইমজোনটিতে মনোযোগ দেওয়ার দরকার নেই। লিনাক্স স্ট্রিংয়ে প্রদত্ত সময় অঞ্চলকে স্বীকৃতি দেয় এবং সিস্টেমের সময়কে যথাযথভাবে সেট করে।
এনটিপি পরিষেবা সময় সিঙ্ক করার জন্য ইউডিপি প্রোটোকল ব্যবহার করছে। সুতরাং HTTP / TCP প্রক্সি এটির জন্য কাজ নাও করতে পারে। গৃহীত উত্তরের বিকল্প হিসাবে প্রক্সিটির পিছনে সময় সিঙ্ক করার জন্য একটি ভাল এইচটিপিডিট সরঞ্জাম রয়েছে।
একটি ক্রোন কাজের উদাহরণ:
* 3 * * * /usr/bin/htpdate -s -P <PROXY_HOST>:<PROXY__PORT> www.linux.org www.freebsd.org
যদিও এনটিপি-র উপরে HTTP উল্লেখ করা হয়েছে, আমি অবাক হয়েছি যে কেউ http://www.vervest.org/htp/ এhtpdate উপলব্ধ নিফটির সামান্য উপযোগিতা উল্লেখ করেনি । বিকল্পগুলির মতো নয়, এটি দেবিয়ান এবং উবুন্টুর ডিফল্ট সংগ্রহস্থলের একটি অংশ এবং এটি ব্যবহার করে ইনস্টল করা যেতে পারে ।htpdateapt-get
এটি সাধারণ কমান্ড হিসাবে বা নিঃশব্দে ডেমন মোডে চালানো যায়।
http_proxyপরিবেশের ভেরিয়েবল সেট করা আছে তা ধরে নিচ্ছি :
wget -S --spider "http://www.google.com/" 2>&1 | grep -E '^[[:space:]]*[dD]ate:' | sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//'
বা ব্যবহার curl -I --proxy="..." "http://www.google.com/"
সর্বোপরি, যদি গুগলের সাইটটির সময় নির্ধারণ না হয় তবে কোনও আশা নেই।
Https://superuser.com/a/509620/362156 এ প্রসারিত হচ্ছে
ধরে নেওয়া যাক আপনি বার্লিন (জার্মানি) এ আছেন।
তারপরে এটি ব্যবহার করুন:
sudo TZ=Europe/Berlin date -s "$(TZ=Europe/Berlin date --date='TZ="UTC" '"$(wget -S "http://www.google.com/" 2>&1 | grep -E '^[[:space:]]*[dD]ate:' | sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' | head -1l | awk '{print $1, $3, $2, $5 , $6, $4 }' | sed 's/,//')")"