कमांड लाइन से कैसे चेक करें कि नेटवर्क पहुंच योग्य है?


12

मैं SuSE सर्वर बूट प्रक्रिया समाप्त करने के बाद खुद को एक ग्रोनल भेजना चाहता हूं। मुझे यह संदेश मिला socket_sendto(): unable to write to socket [101]: Network is unreachable in

यदि नेटवर्क उपलब्ध नहीं है और अगर यह नहीं है तो मैं कमांड लाइन से कैसे जांच कर सकता हूं?



लिनक्स वन-लाइनर को हां या ना में जवाब देने के लिए, क्या हम इंटरनेट से जुड़े हैं ping -c 1 www.yourtrustedserver.com | grep " 0% packet loss":। यह एक पैकेट के साथ सर्वर को पिंग करता है, और स्ट्रिंग को "0% पैकेट नुकसान" के लिए आउटपुट देता है। (0% से पहले का स्थान महत्वपूर्ण है) यदि कमांड एक पंक्ति देता है, तो आप कनेक्ट हैं, अन्यथा, कनेक्ट नहीं हैं।
एरिक लेसचिंस्की

जवाबों:


13

ping एक बाहरी होस्ट कई कारणों से विफल हो सकता है, जिनमें से कुछ ही वास्तव में आपके अपने नेटवर्क की स्थिति के बारे में उपयोगी कुछ भी कहते हैं।

पहले चरण के रूप में, एक टर्मिनल विंडो खोलें और टाइप करें ip route ls

आप की तर्ज पर एक आउटपुट देखना चाहिए

shadur@equinox:~$ ip route ls
192.168.15.0/24 dev eth0  proto kernel  scope link  src 192.168.15.102 
default via 192.168.15.1 dev eth0 

यह इंगित करता है कि आपका स्थानीय नेटवर्क eth0पते के साथ एक ईथरनेट कनेक्शन ( ) है 192.168.15.0, और इसका डिफ़ॉल्ट गेटवे है जिसके माध्यम से यह शेष इंटरनेट तक पहुंचता है 192.168.15.1

इसके बाद, आप pingउस पते पर कोशिश कर सकते हैं :

shadur@equinox:~$ ping 192.168.15.1
PING 192.168.15.1 (192.168.15.1) 56(84) bytes of data.
64 bytes from 192.168.15.1: icmp_req=1 ttl=255 time=0.352 ms
64 bytes from 192.168.15.1: icmp_req=2 ttl=255 time=0.269 ms
^C
--- 192.168.15.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.269/0.310/0.352/0.045 ms

यदि आप उपरोक्त कुछ से परिचित हैं, तो आपका अपना स्थानीय नेटवर्क कम से कम, ठीक है। इस बिंदु पर आप और अधिक उन्नत उपकरणों के साथ tracerouteदेखना शुरू कर सकते हैं जैसे कि यह देखना है कि गंतव्य के लिए आपका कनेक्शन विफल हो रहा है या नहीं।

हालाँकि, growlवास्तव में होने वाली एक त्वरित Google जांच के बाद मुझे लग रहा है कि कुछ और गलत हो रहा है। क्या आप हमें यह बताने के लिए अपने प्रश्न का विस्तार कर सकते हैं कि आप क्या करने का प्रयास कर रहे हैं, आप इसे कैसे प्रयास कर रहे हैं, और पूर्ण त्रुटि आउटपुट? वर्तमान में आप हमें जो लाइन दे रहे हैं वह अचानक से कट जाती है ...


3
ip route get 1.2.3.4सिर्फ करने से ज्यादा विश्वसनीय है ip route ls। पूर्व मार्गों के अलावा किसी भी नियम को लागू करेगा। यह रूटिंग टेबल (एस) को गलत तरीके से फैलाने की संभावना को भी दूर करता है।
पैट्रिक

3

एक बहुत ही सरल और त्वरित तरीका है pingकमांड का उपयोग करना ।

आप बस टाइप कर सकते हैं

 $ ping yahoo.com

(या cnn.com या कोई अन्य होस्ट) और देखें कि क्या आपको कोई आउटपुट वापस मिलता है। यह मानता है कि होस्टनाम को हल किया जा सकता है (यानी डीएनएस काम कर रहा है)। यदि नहीं, तो आप उम्मीद कर सकते हैं कि आप किसी दूरस्थ सिस्टम के वैध आईपी पते / संख्या की आपूर्ति कर सकते हैं और देखें कि क्या उस तक पहुंचा जा सकता है।

यहाँ पिंग मैन पेज है

अपडेट :

एक त्वरित उदाहरण के रूप में, यदि कमांड सफल हुआ (तो आप कमांड के आउटपुट को हमेशा पाइप कर सकते हैं ) यह देखने के लिए रिटर्न मान (जैसे, साथ "echo $?") की जांच कर सकते हैं । नोट मैं यहां उपयोग करता हूं , लेकिन आप अधिक उपयोग कर सकते हैं।ping> /dev/nul-c 1

$ ping -c 1 yahoo.com
PING yahoo.com (72.30.38.140) 56(84) bytes of data.
64 bytes from ir1.fp.vip.sp2.yahoo.com (72.30.38.140): icmp_seq=1 ttl=52 time=83.5 ms

--- yahoo.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 83.593/83.593/83.593/0.000 ms

echo $?
0


$ ping -c 1 unicorns.are.here
ping: unknown host unicorns.are.here

$ echo $?
2

लेकिन मैं पिंग का उपयोग करने से कैसे महसूस कर सकता हूं कि सब कुछ ठीक है?
राडेक

1
@Radek क्या आपने इसे अभी तक चलाने की कोशिश की है? पिंग आपको बताता है कि क्या यह जवाब देता है।
jw013

क्या होगा अगर सर्वर केवल इंट्रानेट पर है और बाहरी दुनिया तक पहुंच नहीं है?
राडेक

@ jw013: मैंने कोशिश नहीं की है ... मैं एक अनअटेंडेड स्क्रिप्ट से पिंग का उपयोग करना नहीं जानता।
राडेक

3
@ राडेक यह काफी सरल है। मुझे लगता है कि 'कनेक्टिविटी' से इसका मतलब है कि यह इंट्रानेट पर किसी अन्य होस्ट से बात कर सकता है। तो ping -c 2 -n <other host's IP>रिटर्न कोड पर चलाएं और संचालित करें: अगर सच (0), तो इसकी कनेक्टिविटी है; अगर झूठ (1) है, तो यह उस मशीन से बात नहीं कर सकता है।
5

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