मैं कैसे बता सकता हूं कि ओएस एक्स कमांड लाइन से वीपीएन नेटवर्क से जुड़ा है या नहीं?


12

मैं कैसे बता सकता हूं कि ओएस एक्स कमांड लाइन से वीपीएन नेटवर्क से जुड़ा है या नहीं?

ifconfigजब मैं जुड़ा हुआ हूं बिना किसी तर्क के चल रहा हूं, तो मैं देखता हूं कि एक utun0इंटरफ़ेस है जो वीपीएन कनेक्शन प्रतीत होता है। जब मैं डिस्कनेक्ट करता हूं तो यह चला जाता है।

मेरा मानना ​​है कि मैं स्ट्रिंग की जांच करने utun0और घटनाओं को गिनने के लिए कुछ इस तरह का उपयोग कर सकता हूं :

ifconfig | grep -c utun0

लेकिन क्या इसके लिए जाँच करने का एक आसान या अधिक प्रभावी तरीका है? यदि utun0एक उपकरण है, या एक छद्म उपकरण भी है, तो क्या मुझे यह जांचने में सक्षम नहीं होना चाहिए कि क्या यह किसी चीज़ के साथ मौजूद है:

if [ -a '/dev/utun0' ]

दुर्भाग्य से मैं जब जोड़ने और आप डिस्कनेक्ट कि निर्देशिका में कोई भी परिवर्तन नहीं दिख रहा है, मैं सिर्फ देखने /dev/tun0के माध्यम से /dev/tun15और मैं नहीं कर सकता catउन्हें भी साथ sudo...

क्या वीपीएन कनेक्शन है या नहीं, यह बताने का एक सरल तरीका है?


वीपीएन किस तरह का? अंतर्निहित आप सिस्टम वरीयताएँ में कॉन्फ़िगर करते हैं ?
डैनियल बेक

@DanielBeck -हां
CWD

जवाबों:


10

आप माउंटेन लायन 1 के रूप में भी स्कूटिल कमांड का उपयोग कर सकते हैं।

उदाहरण के लिए:

$ scutil --nc list | grep Connected

अधिक विस्तृत सहायता के लिए, आप मैन पेज देख सकते हैं , या चला सकते हैं:

$ scutil --nc help

फुटनोट:

  1. मैं माउंटेन लायन के पिछले OSX के संस्करणों में मौजूद इस कमांड के बारे में नहीं जानता, लेकिन मैं गलत हो सकता हूं।

0

चूंकि आप सिस्टम प्राथमिकता के माध्यम से इंटरफ़ेस को परिभाषित कर रहे हैं, ऐसा करने का एक आसान तरीका AppleScript का उपयोग करना होगा। यहाँ एक स्निपेट है जो आप करना चाहते हैं:

# Get the major version number. Mavericks changes the way things are done.
set osversion to do shell script "sw_vers 2>/dev/null | awk '/ProductVersion/ { print $2    }' | cut -f 2 -d ."
if osversion is less than 9 then
    set vpntype to 10
else
    set vpntype to 11
end if
try
    tell application "System Events"
        tell current location of network preferences
            set vpnservice to (name of first service whose kind is vpntype) as string
            set myConnection to the service vpnservice
            if myConnection is not null then
                if current configuration of myConnection is not connected then
                    return "Not Connected"
                else
                    return "Connected"
                end if
            end if
        end tell
    end tell
on error error_message
    return error_message
    error number -128
end try

इसे स्क्रिप्ट के रूप में कहीं पर सहेजें (और सुनिश्चित करें कि आप इसे स्क्रिप्ट फ़ाइल के रूप में सहेजते हैं!)।

किसी भी समय आप इसे चलाना चाहते हैं, कमांड का उपयोग करें: osascript /path/to/script.scpt

या एक उपनाम बनाते हैं जो प्रदर्शन करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.