إذا كنت تحقق مع جوجل، أستطيع أن أرى بلدي الملكية الفكرية العامة. هل هناك شيء على سطر الأوامر أوبونتو والتي سوف تسفر لي نفس الجواب?
إذا لم تكن وراء جهاز توجيه ، يمكنك العثور عليه باستخدام ifconfig
.
إذا كنت خلف جهاز توجيه ، فلن يعرف جهاز الكمبيوتر الخاص بك عن عنوان إب العام لأن جهاز التوجيه يقوم بترجمة عنوان الشبكة. يمكنك أن تسأل بعض المواقع ما عنوان إب العام الخاص بك يستخدم curl
أو wget
واستخراج المعلومات التي تحتاجها منه:
curl -s https://checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
أو أقصر
curl https://ipinfo.io/ip
للعثور على إب الخارجي ، يمكنك إما استخدام الخدمات الخارجية على شبكة الإنترنت ، أو استخدام أساليب النظام القائم. أسهل واحد هو استخدام الخدمة الخارجية ، وأيضا ifconfig
ستعمل الحلول القائمة في نظامك فقط إذا لم تكن وراء NAT
. وقد نوقشت الطريقتان أدناه بالتفصيل.
البحث عن الملكية الفكرية الخارجية باستخدام الخدمات الخارجية
أسهل طريقة هي استخدام خدمة خارجية عبر متصفح سطر الأوامر أو أداة التنزيل. منذ wget
متاح افتراضيا في أوبونتو ، يمكننا استخدام ذلك.
للعثور على الملكية الفكرية الخاصة بك ، استخدم-
$ wget -qO- https://ipecho.net/plain ; echo
مجاملة:
- https://hawknotes.blogspot.in/2010/06/finding-your-external-ip-address.html
- https://ipecho.net/plain
يمكنك أيضا استخدام lynx
(المتصفح) أو curl
بدلا من wget
مع اختلافات طفيفة إلى الأمر أعلاه ، للعثور على إب الخارجي الخاص بك.
باستخدام curl
للعثور على الملكية الفكرية:
$ curl https://ipecho.net/plain
لاستخدام إخراج أفضل تنسيقا:
$ curl https://ipecho.net/plain ; echo
طريقة أسرع (يمكن القول إنها الأسرع) باستخدام dig
مع OpenDNS
كمحلل:
الإجابات الأخرى هنا تذهب عبر هتب إلى ملقم بعيد. يتطلب بعضها تحليل الإخراج ، أو الاعتماد على رأس وكيل المستخدم لجعل الخادم يستجيب بنص عادي. كما أنها تتغير بشكل متكرر (النزول ، تغيير اسمها ، طرح الإعلانات ، قد تغيير تنسيق الإخراج الخ.).
- يتم توحيد بروتوكول استجابة نظام أسماء النطاقات (سيبقى التنسيق متوافقا).
- تاريخيا خدمات نظام أسماء النطاقات (أبندنس, جوجل نظام أسماء النطاقات العامة,..) تميل إلى البقاء على قيد الحياة لفترة أطول وأكثر استقرارا وقابلية للتطوير والعناية بشكل عام من أي ورك جديد whatismyip.com خدمة هتب ساخنة اليوم.
- (بالنسبة لأولئك المهوسون الذين يهتمون بالتحسين الجزئي) ، يجب أن تكون هذه الطريقة أسرع بطبيعتها (سواء كان ذلك ببضع ثوان صغيرة فقط).
باستخدام حفر مع أبندنس كما محلل:
$ dig +short myip.opendns.com @resolver1.opendns.com111.222.333.444
نسخ من: https://unix.stackexchange.com/a/81699/14497
إيجاد الملكية الفكرية الخارجية دون الاعتماد على الخدمات الخارجية
- إذا كنت تعرف اسم واجهة الشبكة الخاصة بك
اكتب ما يلي في المحطة الطرفية الخاصة بك:
$ LANG=c ifconfig <interface_name> | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
في ما سبق ، استبدل <interface_name>
مع اسم واجهة الفعلية الخاصة بك ، على سبيل المثال: eth0
, eth1
, pp0
، إلخ...
مثال الاستخدام:
$ LANG=c ifconfig ppp0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'111.222.333.444
- إذا كنت لا تعرف اسم واجهة الشبكة الخاصة بك
اكتب ما يلي في محطة الخاص بك (هذا يحصل على اسم وعنوان إب من كل واجهة الشبكة في النظام الخاص بك):
$ LANG=c ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'
مثال الاستخدام:
$ LANG=c ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'lo: 127.0.0.1ppp0: 111.222.333.444
ملحوظة:: النواتج إرشادية وليست حقيقية.
مجاملة: https://www.if-not-true-then-false.com/2010/linux-get-ip-address/
تحديث
-
LANG=c
تمت إضافته إلىifconfig
الاستخدامات القائمة، بحيث يعطي دائما إخراج اللغة الإنجليزية ، بغض النظر عن إعداد اللغة.
كان المفضل لدي دائما :
curl ifconfig.me
بسيطة وسهلة الكتابة.
سيكون لديك لتثبيت حليقة أولا؛)
إذا ifconfig.me هو محاولة أسفل icanhazip.com و أو ipecho.net
curl icanhazip.com
أو
curl ipecho.net
icanhazip.com هو المفضل لدي.
curl icanhazip.com
يمكنك طلب آي بي 4 صراحة:
curl ipv4.icanhazip.com
إذا لم يكن لديك curl
يمكنك استخدام wget
بدلا من ذلك:
wget -qO- icanhazip.com
لقد وجدت أن كل شيء مزعج وبطيء ، لذلك كتبت بلدي. انها بسيطة وسريعة.
واجهة برمجة التطبيقات الخاصة به قيد التشغيل http://api.ident.me/
أمثلة:
curl ident.mecurl v4.ident.mecurl v6.ident.me
التصميم الفني: في نظام أسماء النطاقات, ident.me لديه كل من أ و آا السجلات, v4.ident.me فقط لديه سجل ، و v6.ident.me فقط لديه سجل آا. يتم تقديم المنافذ 443 و 80 على تلك البرامج المتكاملة من قبل نجينكس، مع سل باستخدام الشهادات المقدمة من قبل letsencrypt.org من خلال سيرتبوت ، ومع التكوين التالي (مقتطفات):
server { […] server_name .ident.me; location / { default_type text/plain; return 200 $remote_addr; add_header Access-Control-Allow-Origin "*"; add_header Cache-Control "no-cache, no-store, must-revalidate"; }}
يمكنك استخدام طلب دنس بدلا من طلب هتب لمعرفة إب العام الخاص بك:
$ dig +short myip.opendns.com @resolver1.opendns.com
ويستخدم resolver1.opendns.com
خادم نظام أسماء النطاقات لحل السحرية myip.opendns.com
اسم المضيف إلى الخاص بك عنوان بروتوكول الإنترنت.
الأمازون أوس
curl https://checkip.amazonaws.com
إخراج العينة:
123.123.123.123
يعمل أيضا على المتصفح: http://checkip.amazonaws.com
أنا أحب ذلك لأن:
- فإنه يعود فقط إب نص عادي في الجسم الرد، لا شيء آخر
- إنه من مزود معروف ومن غير المرجح أن يصبح غير متصل بالإنترنت في أي وقت قريب
واحد أنا باستخدام هو :
wget -O - -q icanhazip.com
نعم ، يمكنك الحصول على إب : -)
اكتب هذا بالضبط ، اضغط على Enter حيث أشار:
telnet ipecho.net 80
EnterGET /plain HTTP/1.1
EnterHOST: ipecho.net
EnterBROWSER: web-kit
Enter
Enter
هذا يرسل يدويا طلب هتب ، والتي سوف تعود إب الخاص بك في الجزء السفلي من HTTP/1.1 200 OK reply
مثال الإخراج:
$ telnet ipecho.net 80Trying 146.255.36.1...Connected to ipecho.net.Escape character is '^]'.GET /plain HTTP/1.1HOST: ipecho.netBROWSER: web-kitHTTP/1.1 200 OKDate: Tue, 02 Jul 2013 07:11:42 GMTServer: ApacheExpires: Mon, 26 Jul 1997 05:00:00 GMTCache-Control: no-cachePragma: no-cacheVary: Accept-EncodingTransfer-Encoding: chunkedContent-Type: text/htmlf111.222.333.4440
لهذا, الصاعقة اخترع. كعميل يمكنك إرسال طلب إلى خادم الصاعقة متاحة للجمهور ، وأنها تعطي مرة أخرى عنوان إب يرى. نوع من المستوى المنخفض whatismyip.com كما أنه لا يستخدم هتب ولا خوادم دنس وضعت بذكاء ولكن بروتوكول الصاعقة سريع بتوهج.
باستخدام stunclient
إذا كان لديك stunclient
تثبيت (apt-get install stuntman-client
على ديبيان / أوبونتو) يمكنك القيام به ببساطة:
$stunclient stun.services.mozilla.comBinding test: successLocal address: A.B.C.D:42541Mapped address: W.X.Y.Z:42541
أين A.B.C.D
هو عنوان إب من جهازك على الشبكة المحلية و W.X.Y.Z
هل خوادم عنوان إب مثل المواقع ترى من الخارج (واحد كنت تبحث عن). باستخدام sed
يمكنك تقليل الإخراج أعلاه إلى عنوان إب فقط:
stunclient stun.services.mozilla.com | sed -n -e "s/^Mapped address: \(.*\):.*$/\1/p"
ومع ذلك ، كان سؤالك كيفية العثور عليه باستخدام سطر الأوامر ، والتي قد تستبعد استخدام عميل الصاعقة. لذلك أنا أتساءل...
باستخدام bash
يمكن يدويا طلب الصاعقة ، وإرسالها إلى خادم الصاعقة الخارجي باستخدام netcat
وتكون بعد معالجتها باستخدام dd
, hexdump
و sed
مثل ذلك:
$echo -en '\x00\x01\x00\x08\xc0\x0c\xee\x42\x7c\x20\x25\xa3\x3f\x0f\xa1\x7f\xfd\x7f\x00\x00\x00\x03\x00\x04\x00\x00\x00\x00' | nc -u -w 2 stun.services.mozilla.com 3478 | dd bs=1 count=4 skip=28 2>/dev/null | hexdump -e '1/1 "%u."' | sed 's/\.$/\n/'
يحدد الصدى طلب صاعقة ثنائي (0 * 0001 يشير إلى طلب ملزم) بطول 8 (0 * 0008) مع ملف تعريف الارتباط 0 * 00سي وبعض الأشياء الملصقة من ويريشارك. تؤخذ فقط البايتات الأربعة التي تمثل إب الخارجي من الإجابة وتنظيفها وطباعتها.
العمل ، ولكن لا ينصح لاستخدام الإنتاج: -)
ملاحظة: تتوفر العديد من خوادم الصاعقة لأنها تقنية أساسية ل سيب و ويبرتس. يجب أن يكون استخدام واحد من موزيلا آمنا للخصوصية ولكن يمكنك أيضا استخدام آخر: قائمة خادم الصاعقة
“وجود الملكية الفكرية الديناميكية” ، “سه باستخدام بعض النظام الآخر عبر الإنترنت” ، “الأمر الذي سيعرض الملكية الفكرية العامة الحالية”. ترى مشكلة الدجاج / البيض هنا? كيف يمكنك تشغيل الأوامر على خادم بعيد دون معرفة عنوانه? قد تكون أكثر اهتماما بخدمات مثل no-ip.com / DynDNS.org.
ربما ينبغي أن يكون هذا سؤال منفصل ، ولكن أود أن أرى تنبيه عندما يتغير عنوان إب العام. في الوقت الراهن ، أنا فقط باستخدام الإجابات التالية في كرونتاب مع إعلام إرسال
.
لا يمكن للمرء سه دون معرفة الملكية الفكرية العامة صديقي… ديندنز يكلف الكثير ولا إب أعمال صعبة ولكن الوضع لا تسمح بذلك… على أي حال تم الإجابة على السؤال بالفعل… شكرا على اقتراحكم
حلول رائعة أدناه. لاستخدام سينتوس 'إفكونفيغ إيث1 | سيد-نري' / ^ [ ^ ] + / {ن ؛ ق / ^ ([^]+).* آينت * ([ ^ ]+).* /\2 / ف}" حيث إيث1 هو جهاز الشبكة س الفائدة ، يمكنك حذف سلسلة "إيت 1" لإظهار جميع إيبس من جميع المحولات. بدلا من
\2 يمكنك كتابة
\1 \2 ’ لإظهار أسماء كل محول أيضا.
لا يظهر أي من الإجابات النهج الصحيح. وبما أنني لم يكن لديك ما يكفي من سمعة لنشر إجابة سأقوم بنشر تعليق على كيفية الحصول عليه دون الاعتماد على الخدمات الخارجية. فقط تشغيل على محطة ’ host اسم المضيف address عنوان بروتوكول الإنترنت`