Cách biết IP công cộng của bạn chỉ bằng một lệnh

Từ blog của erjaimer là tôi nhận được mẹo rất hữu ích này.

Nó xảy ra rằng erjaimer Anh ấy giải thích cho chúng tôi cách trong một dòng duy nhất, chúng tôi có thể biết IP công khai của mình (IP thực), nhưng cũng mời bất kỳ ai muốn cải thiện đường truyền làm như vậy ... và tốt ... họ biết rằng tôi là một fan của bash, vì vậy tôi đã làm thay đổi kỳ lạ. Đây là câu nói của tôi:

GET http://www.vermiip.es/  | grep "Tu IP p&uacute;blica es" | cut -d ':' -f2 | cut -d '<' -f1

Hãy xem ảnh chụp màn hình kết quả mà chúng tôi nhận được với các thay đổi của tôi:

Dòng của anh ấy như sau:

GET http://www.vermiip.es/ | grep "Tu IP pública es" | perl -pe 's/(.*:)||\s+//g;'

Và nó sẽ trông như thế nào nếu sử dụng dòng gốc:

Giải thích về lệnh gốc được cung cấp bởi cùng erjaimer en Bài báo:

  1. Lệnh GET Nó nằm trong bất kỳ bản phân phối GNU / Linux nào và như tên của nó đã chỉ ra, nó tải xuống một HTML được cung cấp một URL.
  2. Bước tiếp theo là xem tài liệu HTML để xem bạn đang hiển thị trang IP nào. Trong bước thứ hai, chúng tôi nhận được kết quả này: IP công cộng của bạn là: xx.xx.xxx.xxx, trong đó rõ ràng chữ X là số.
  3. Bước tiếp theo tôi sẽ sử dụng biểu thức chính quy và PERL làm lệnh console, lọc các chữ cái, v.v. perl -pe 's /(.* :) | (<\ / h2>) | (\ s +) // g; , regex này được thực hiện hơi nhẹ, tôi đề xuất cải thiện nó hoặc thậm chí sử dụng grep tốt hơn một chút, nó có thể được gỡ bỏ.

Và ở đây tôi để lại lời giải thích của tôi:

  1. xuyên qua GET Chúng tôi tải xuống HTML của URL đó, nó cho chúng tôi biết IP của chúng tôi và cũng có rất nhiều văn bản mà chúng tôi không muốn.
  2. Chúng tôi sẽ xóa tất cả mã không mong muốn đó, chỉ để lại đường IP qua grep.
  3. Vấn đề là nó hiển thị cho chúng ta IP với một văn bản nhỏ và thẻ H2, vì vậy bây giờ sử dụng hai lần cắt chúng tôi sẽ làm sạch mọi thứ và chỉ để lại IP.
  4. (Lần cắt đầu tiên) »Chúng tôi làm sạch văn bản và thẻ H1 đầu tiên chỉ đơn giản nói rằng nó không hiển thị bất kỳ thứ gì từ : (hai điểm) ở bên trái, chỉ để lại một thẻ H2 ở cuối.
  5. (Lần cắt đầu tiên) »Chúng tôi làm sạch thẻ H1 cuối cùng này với phần cắt còn lại, thẻ này sẽ không hiển thị bất kỳ thứ gì từ <đầu tiên bên phải của nó. Chỉ còn lại IP.

Bất kỳ phương thức (lệnh) nào mà bạn sử dụng sẽ cho bạn kết quả như nhau, tôi chỉ đơn giản là muốn đóng góp của mình, bởi vì khi nhìn thấy dòng lệnh với biểu thức chính quy và perl, sẽ rất khó để giải thích từng ký tự cho người khác haha.

Dù sao, tôi hy vọng bạn thích nó và một ngàn lời cảm ơn erjaimer vì đã viết bài báo gốc.

Liên quan


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Rodolfo dijo

    Nếu bạn không có curl và nếu bạn có wget (ví dụ như trường hợp của tôi trong MacOSX) thì lệnh này cũng hoạt động:

    wget -nv -q -O - http://ip.appspot.com/

    (mặc dù như Edwin nói, ifconfig.me là điều đúng đắn để làm… và tôi đã cài đặt curl trên MacOSX)

  2.   Edwin dijo

    Dễ dàng hơn
    cuộn tròn ifconfig.me

    1.    KZKG ^ Gaara dijo

      O_O ... Tôi không biết trang web đó ... WTF !, Thật TUYỆT VỜI !!!
      Cảm ơn người bạn dữ liệu, siêu thú vị hehe.

      Tái bút: Bây giờ tôi cảm thấy mình như một thằng ngốc vì sử dụng cả chuỗi hướng dẫn khi bạn quản lý để làm điều đó với 2 từ HAHAHA

    2.    Ariel dijo

      TUYỆT VỜI, chỉ bằng cách cài đặt curl và lệnh đó, nó hoạt động tuyệt vời!

  3.   Santiago dijo

    Đóng góp rất tốt! Nó cũng rất hữu ích vì nó không yêu cầu cài đặt thêm bất kỳ thứ gì. Tôi đã thử CURL nhưng nó yêu cầu tôi cài đặt gói.

    Chúc mừng.

    1.    KZKG ^ Gaara dijo

      Ah, CURL không giống nhau trong hệ thống mặc định? O_O
      Vâng, cảm ơn vì sự đóng góp tốt, bạn hãy làm những gì có thể 🙂

      Xin chào và cảm ơn bạn

  4.   khu bảo tồn dijo

    WTF !! lời giải thích tuyệt vời về (copy-paste, xD Tôi chưa bao giờ viết biệt danh đó) KZKG ^ Gaara. Edwin, thật tuyệt, tôi không biết phương pháp đó. Cám ơn vì đã chia sẻ.

    1.    KZKG ^ Gaara dijo

      hahaha cảm ơn bạn 🙂

  5.   alexander mora dijo

    Hoặc với:
    cuộn tròn -s http://ip.appspot.com/

  6.   Tuân theo dijo

    Như có câu nói, bạn sẽ không đi ngủ nếu không biết thêm một điều nữa

  7.   Sergio dijo

    Tuyệt vời theo cách đó, tôi không biết về dịch vụ đó.

    Đối với tác giả của bài viết này, hãy nói với anh ta rằng hình nền trong trình mô phỏng thiết bị đầu cuối khiến việc đọc trở nên khó khăn.

  8.   huynh đệ dijo

    Thật tuyệt vời. Tuy nhiên, điều này dễ dàng hơn:
    $ cuộn tròn ifconfig.me

    1.    KZKG ^ Gaara dijo

      HAHA vâng họ đã đề cập ở trên rồi, tôi cảm thấy hơi tệ vì phải sử dụng cả chuỗi hướng dẫn hehehe

  9.   B1tblu3 dijo

    cảm ơn, rất hữu ích

  10.   Algave dijo

    Mẹo hay… (hay biết).

  11.   davervozbox dijo

    Các phương pháp khác:
    Biết IP Công cộng của tôi:
    wget -qO- ifconfig.me/ip
    wget -qO- ifconfig.me/host

  12.   Hugo dijo

    Chà, ít nhất trên Debian, bạn có thể sử dụng trình duyệt console mặc định theo cách khác:

    www-browser http://ifconfig.me

    Tôi thường sử dụng elinks hoặc w3m

  13.   đúng dijo

    Lệnh gì phức tạp hơn Gaara !! tôi sử dụng

    wget -qO- icanhazip.com

  14.   taregon dijo

    Hahaha, tuyệt vời.

  15.   Blazek dijo

    Rất tốt, không biết cách này. Bạn sẽ không bao giờ đi ngủ mà không học bất cứ điều gì mới.

    1.    KZKG ^ Gaara dijo

      Đó là những gì tôi nghĩ khi tôi xem tất cả các cách để làm điều này haha

  16.   manolox dijo

    Tôi có một cái tương tự. Kết quả là như nhau.
    wget -q -O - checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

    Nếu chúng ta đặt điều này vào một tập lệnh và thêm nó để hiển thị trên màn hình với sự bình tĩnh (ví dụ), thì đó là một "ứng dụng" rất thú vị

    Sự việc sẽ như thế này:
    #!/bin/sh

    IPPUBLICA=$(wget -q -O - checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//')

    zenity --info --text="Tu IP es: $IPPUBLICA"

    Liên quan

  17.   máy phát điện 2 dijo

    Không có wget nào được cài đặt theo mặc định trong một số bản phân phối, vì vậy curl là thích hợp nhất về mặt này

    1.    KZKG ^ Gaara dijo

      curl được cài đặt theo mặc định trong tất cả?

  18.   heavynethole dijo

    Tôi làm như thế này, tôi có bí danh xD:
    alias myip = 'wget http://automation.whatismyip.com/n09230945.asp -O - ​​2> / dev / null; quăng đi'

    Nhưng chiếc CURL khiến tôi không nói nên lời.

    ¡Saludos!

  19.   elwuilmer dijo

    Tôi cho rằng có nhiều phương pháp (cách) để có được IP công khai và mọi người có thể tự do lựa chọn của riêng mình, với phương pháp mà họ xác định nhất, tôi đặc biệt thích sử dụng:

    wget -qO- ifconfig.me/ip

    Một gợi ý từ phía tôi là chỉnh sửa bài đăng và đặt từng lựa chọn thay thế tồn tại để biết IP công khai và người đọc có thể tự do lựa chọn phương pháp sử dụng.

  20.   Matias dijo

    Đi tới "bảng điều khiển" ở đó và chọn "kết nối mạng" sau khi mở nó, nhấp chuột phải vào kết nối đang hoạt động (đây sẽ là những kết nối có 2 chiếc màu xanh) và chọn "thuộc tính" trong cửa sổ mới sẽ mở ra. trên "giao thức internet" và sau đó trên tùy chọn "thuộc tính" ở đó và bạn có thể thấy địa chỉ IP của mình

    Nếu bạn thích tôi, hãy trả lời tôi, bình chọn cho tôi! https://es.answers.yahoo.com/question/index?qid=20080731112416AAVDKNz

  21.   Pablo dijo

    Rất hữu ích khi tìm thấy tất cả thông tin họ cung cấp trên trang. Tôi đã có thể làm theo các bước và biết IP Công cộng của mình. Trên trang khác này http://www.gurugles.com/internet-y-computadoras/cual-es-mi-ip-publica/ . Tôi cũng tìm thấy nhiều câu trả lời về IP, rất rõ ràng, mà chúng tôi không hiểu nhiều về chủ đề này.

  22.   Vô danh dijo

    cuộn tròn là tối đa