একটি প্রক্সি পিছনে এনটিপিডেট কীভাবে ব্যবহার করবেন?


49

প্রমাণীকরণের সাথে কোনও HTTP প্রক্সিটির পিছনে এনটিপিডিট ব্যবহার করা কি সম্ভব? যদি এটি সম্ভব না হয় তবে কোনও ভাল বিকল্প আছে কি?


কি ওএস দয়া করে?
কেকটরউ

আমার ক্ষেত্রে লিনাক্স (যদিও এটি বেশি গুরুত্বপূর্ণ তা মনে করবেন না)।
টন ভ্যান ড্যান হিউভেল

এটি কেবলমাত্র গুরুত্বপূর্ণ কারণ উইন্ডোজের জন্য দূর থেকে কোনও কিছু খুঁজে পাওয়া শক্ত ছিল। আমি যে চাবিটি ব্যবহার করেছি সেটি হ'ল "এনটিপি ও HTTP", আপনি যদি আরও অনুসন্ধান করতে চান তবে।
কেট্রেউ

3
আপনি যদি এইচটিটিপি প্রক্সিটির পিছনে থাকেন তবে এর অর্থ সম্ভবত আপনি কোনও সংস্থায় রয়েছেন এবং এই সংস্থাটি তার নিজস্ব এনটিপি পরিষেবা সরবরাহ করতে পারে।
ত্রিস্তান

উত্তর:


29

এটি 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.

আমি মনে করি না যে আমি কোনও সুডো অনুরোধের যুক্তি হিসাবে ইন্টারনেট থেকে নিরবচ্ছিন্ন ডেটা ব্যবহার করার জন্য এতগুলি প্রস্তাবনা দেখেছি।

গিথুব: https://github.com/ioerror/tlsdate


1
এই উত্তরটি সত্যই শীর্ষে থাকা উচিত।
পাই ডিলপোর্ট

আমি এটি কাজ করতে পরিচালিত করি না - প্রতিটি সংমিশ্রণের সাথে এটি ভুয়া টিকারগুলি সম্পর্কে ত্রুটিগুলি মুদ্রণ করে। নীচে উইজেট উত্তর কাজ করে।
হাই-এঞ্জেল

এটি একটি Centos6.9 মেশিনে কাজ করে চলেছে তবে কোনও আনন্দ নেই। এটি অন্যান্য প্রস্তাবনার চেয়ে স্বাস্থ্যকর বলে মনে হচ্ছে তবে এটি কাজ করা তুচ্ছ নয় ...
আলফাব্রাভো

46

উপর সম্প্রসারিত 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/,//')"

ক্যাভেট, এটি বর্তমান ডিরেক্টরিতে 'সূচি html *' ফাইল তৈরি করবে।
ryenus

নোট করুন যে সংক্ষিপ্ত সংস্করণটি www.google.com ব্যবহার করা উচিত যেহেতু google.com 301 এর মাধ্যমে এখন "আটকে" তারিখের মাধ্যমে এটিতে পুনঃনির্দেশ করছে
হানসি

আমি যখন মন্তব্যটি দিয়েছিলাম তখন সেই আদেশের প্রতিক্রিয়া তারিখের চার দিন পরে ফিরে আসে।
হানসি

@ রেনিয়াস এটি দুর্দান্ত উত্তর is এটি পুরোপুরি সূক্ষ্ম কাজ করে। তবে আমি যখন ক্রমান্টব চাকরিতে এই আদেশটি রাখি তখন আমার সমস্যা হয়। তারিখের সময় অংশটি তৈরি করা হয় 00:00:00 যখনই এই কাজটি চালিত হয়। আমি একটি শেল স্ক্রিপ্ট চালানোর চেষ্টা করেছি। একই ফলাফল।
huzeyfe

@ হুজ্জেফ, আপনি দয়া করে পরীক্ষা করবেন যে কার্লের প্রক্সি পাস হচ্ছে কিনা ?
ryenus

21

এক রৈখিক

ধরে নেওয়া যাক এনভায়রনমেন্ট ভেরিয়েবল 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"
ryenus

উপরের wgetসংস্করণটি হ'ল যদিও আমি ব্যক্তিগতভাবে ব্যবহার পছন্দ করি curl
ryenus

2
ইন্টারনেট থেকে অযৌক্তিকৃত ডেটা একটি সুডো অনুরোধে পরিবর্তনশীল হিসাবে পাস করছেন? এটা কি 1999?
dfc

2
অথবা কেবল tlsdate ব্যবহার করুন এবং এই মত ন্যক্কারজনক ক্লডেজের উপর নির্ভর করবেন না।
dfc

হ্যাঁ, এটি প্রক্সিগুলির সাথে কাজ করে। প্রশ্নটাও পড়েছি।
dfc

5

যদি এটি বিশুদ্ধরূপে কোনও এইচটিটিপি প্রক্সি হয় তবে এটি পোর্ট ৮০ ব্যবহার করছে, সুতরাং প্রাথমিক উত্তরটি বিশেষভাবে এতে নেই। এনটিপি ইউডিপি পোর্ট 123 ব্যবহার করে। এটি যদি আরও জেনেরিক প্রক্সি সার্ভার হয়, সমস্ত বন্দর পরিবেশন করে, তবে সম্ভবত।

কিছু প্রোগ্রাম আছে যেগুলি HTTP- র মাধ্যমে এনটিপি করে। আমি লিনাক্স ব্যবহার করি না, তবে এটি এটি করতে পারে:

http://www.rkeene.org/oss/htp/ (এটি এখনও প্রমাণীকরণ করবে কিনা তা নিশ্চিত নয়)।

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


আবার লিনাক্সের জন্য, তাই আমি লিঙ্কটি ছাড়া আর কিছু যুক্ত করতে পারি না: mina86.com/2010/01/16/ntp-over-http এইগুলির মধ্যে একটি প্রকাশিত কিছু থাকতে পারে: nist.gov/pml/div688/grp40/ সফ্টওয়্যারলিস্ট.এফ.এম
কে.কেট্রেউ

এইচটিটিপি লিঙ্কের উপরে এনটিপি অনুপ্রেরণামূলক, এর জন্য ধন্যবাদ!
টন ভ্যান ড্যান হিউভেল

5

একটি 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)"আপনার ওএস সঠিকভাবে সেট করা থাকলে আপনাকে টাইমজোনটিতে মনোযোগ দেওয়ার দরকার নেই। লিনাক্স স্ট্রিংয়ে প্রদত্ত সময় অঞ্চলকে স্বীকৃতি দেয় এবং সিস্টেমের সময়কে যথাযথভাবে সেট করে।
মেলিবিয়াস

2

এনটিপি পরিষেবা সময় সিঙ্ক করার জন্য ইউডিপি প্রোটোকল ব্যবহার করছে। সুতরাং HTTP / TCP প্রক্সি এটির জন্য কাজ নাও করতে পারে। গৃহীত উত্তরের বিকল্প হিসাবে প্রক্সিটির পিছনে সময় সিঙ্ক করার জন্য একটি ভাল এইচটিপিডিট সরঞ্জাম রয়েছে।

একটি ক্রোন কাজের উদাহরণ:

* 3 * * * /usr/bin/htpdate -s -P <PROXY_HOST>:<PROXY__PORT> www.linux.org www.freebsd.org

2

যদিও এনটিপি-র উপরে HTTP উল্লেখ করা হয়েছে, আমি অবাক হয়েছি যে কেউ http://www.vervest.org/htp/ এhtpdate উপলব্ধ নিফটির সামান্য উপযোগিতা উল্লেখ করেনি । বিকল্পগুলির মতো নয়, এটি দেবিয়ান এবং উবুন্টুর ডিফল্ট সংগ্রহস্থলের একটি অংশ এবং এটি ব্যবহার করে ইনস্টল করা যেতে পারে ।htpdateapt-get

এটি সাধারণ কমান্ড হিসাবে বা নিঃশব্দে ডেমন মোডে চালানো যায়।


আমার উত্তর উপরে দেখুন।
আর্টিফেরপি

1

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/"

সর্বোপরি, যদি গুগলের সাইটটির সময় নির্ধারণ না হয় তবে কোনও আশা নেই।


1

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/,//')")"

ফিফর্ড_জি দ্বারা উত্তরের তুলনায় আপনার সমাধানে কী আলাদা তা আপনার ব্যাখ্যা করা উচিত।
পাবউক

0

@ রেনিয়াসের উত্তরের উত্তরের সম্পূর্ণ-কার্যক্ষম প্রাক-বেকড প্রয়োগের জন্য, সেট_সিস্টেম_ক্লোক_ফ্রম_গ گل . এস পরীক্ষা করে দেখুন

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