Cygwin में Linux पिंग का उपयोग करें


8

मुझे ऐसी स्क्रिप्ट के साथ काम करने की ज़रूरत है जो pingअपने साधारण लिनक्स सिंटैक्स के साथ कमांड का उपयोग करती है , न ही सिग्विन का डिफ़ॉल्ट पैकेज या विंडोज पिंग उपयोगिता काम करेगी। अभी के लिए, मैंने विंडोज संस्करण का उपयोग करने के लिए स्क्रिप्ट को पैच कर दिया है (कुछ कठिनाई के साथ; विंडोज निष्पादन योग्य उपयोगी रिटर्न कोड प्रदान नहीं करता है, इसलिए मुझे आउटपुट पार्स करना होगा), लेकिन मैं आउट-ऑफ-द-लाइक चाहूंगा बॉक्स संगतता और लिनक्स पिंग की अतिरिक्त विशेषताएं । इससे पहले कि मैं आगे बढ़ूं, मुझे बताएं कि मैं व्यवस्थापक मोड में Cygwin चला रहा हूं; यह विशेषाधिकार का मुद्दा नहीं है। यह एक संस्करण मुद्दा है।

Cygwin के डिफ़ॉल्ट pingकमांड को सेटअप मैनेजर में संस्करण '1.0-1' के रूप में सूचीबद्ध किया गया है, पैकेज 'पिंग: बेसिक नेटवर्क टूल इन टू आईपी नेटवर्क कनेक्टिविटी'। कोई तर्क के साथ, यह आउटपुट:

Usage:  ping [-dfqrv] host [packetsize [count [preload]]]

और मैन पेज विवरण "DARPA इंटरनेट नेटवर्क हार्डवेयर का एक बड़ा और जटिल एकत्रीकरण है," से शुरू होता है , जो मेरे से थोड़ा अधिक पुराना है। यह संस्करण में स्थापित है /bin/ping

Windows ' pingकमांड स्थित है $SYSTEMROOT/system32/ping, और पैरामीटर के बिना आह्वान पर निम्न संदेश को आउटपुट करता है।

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
        [-r count] [-s count] [[-j host-list] | [-k host-list]]
        [-w timeout] target_name

यह निश्चित रूप से एक अधिक सुविधा संपन्न पिंग है (विशेष रूप से, इसमें टाइमआउट शामिल हैं, जो मेरे लिए महत्वपूर्ण है), लेकिन यह आधुनिक लिनक्स इंस्टॉल पर उपलब्ध संस्करण नहीं है:

ping [ -LRUbdfnqrvVaAB] [ -c count] [ -i interval] [ -l preload] [ -p pattern] 
     [ -s packetsize] [ -t ttl] [ -w deadline] [ -F flowlabel] [ -I interface] 
     [ -M hint] [ -Q tos] [ -S sndbuf] [ -T timestamp option] [ -W timeout] 
     [ hop ...] destination

यहाँ ऑनलाइन प्रलेखित किया गया । मैं Cygwin के संदर्भ के अलावा पिंग के साइबर संस्करण के संदर्भों को खोजने के लिए प्रतीत नहीं हो सकता।

मुझे यह प्राचीन ईमेल धागा मिला जो पिंग के बिना सिग्विन के शुरुआती संस्करण का वर्णन करता है। मुझे विंडोज के लिए डिज़ाइन किए गए iputils का कोई भी संस्करण नहीं मिला है।

जवाबों:


3

आप भी कर सकते हैं

  • स्रोत से पिंग बनाने की कोशिश करें, यह iputils पैकेज का हिस्सा है । लेकिन सागविन पर सामान बनाना काफी परेशानी भरा हो सकता है।

या (और मैं यह पहली कोशिश करूँगा)


धन्यवाद, ऐसा लगता है कि पहला विकल्प मेरे लिए बेहतर काम करने वाला है क्योंकि वांछित आवश्यकताओं में से एक यह है कि इसमें iputils संस्करण का सिंटैक्स है, इसलिए अभी तक एक और पिंग कार्यान्वयन की कोशिश करने से मदद नहीं मिलेगी। उस ने कहा, मुझे संदेह है कि मैं पहली बार इस मामले में आया हूं, इसलिए मैं किसी के पहले ही प्रयास में होने की स्थिति में प्रतीक्षा करूंगा।
केविन वर्मेयर

वैसे, आईपुतिल्स ने लगभग दो वर्षों में एक टैग जारी नहीं किया है, लेकिन उनके git रिपॉजिटरी में IPv6 के समर्थन के लिए कुछ विकास हुआ है, जिसे खोजना थोड़ा कठिन था, लेकिन `git: //git.linux- पर स्थित है। ipv6.org / gitroot / iputils.git`। आशा है कि किसी की मदद करता है। जब मैं इस के साथ किया जाता है, तो मैं पैच पोस्ट करूँगा, वहाँ काम करने के लिए एक उचित सा है, लेकिन यह असंभव नहीं लगता है।
केविन वर्मेयर

1
यदि आप साइग्विन के लिए आईपिल बनाने के साथ कहीं भी जाते हैं, तो मुझे दृढ़ता से संदेह है कि साइगविन के बाकी समुदाय भी इसे प्राप्त करना पसंद करेंगे।
me_and

@me_and - अगर मैं सफल होता हूं तो मैं इसे जरूर रिलीज करूंगा। हालाँकि, जबकि पहले कुछ फाइलें बस और इसी तरह #include <linux/filename.h>से बदलकर ठीक संकलित #include <cygwin/filename.h>की गई थीं, मैंने बाद में पाया कि साइग्विन सॉकेट ड्राइवरों को भी आईपुतिल्स द्वारा आवश्यक सुविधाओं की कमी है। यह केवल Cygwin के लिए iputils के निर्माण की बात नहीं है, यह भी iputils के साथ काम करने के लिए Cygwin के निर्माण की बात है। मैं इसे बाद में दे दूँगा अगर मेरे पास कुछ खाली समय हो।
केविन वर्मर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.