Làm cách nào tôi có thể tìm Nhà cung cấp dịch vụ Internet (ISP) của mình bằng cách sử dụng tập lệnh bash?


21

Tôi muốn sử dụng tên của Nhà cung cấp dịch vụ Internet của mình trong một tập lệnh và tôi không biết làm thế nào tôi có thể làm điều này.

Xin hãy giúp tôi, cảm ơn trước.

Câu trả lời:


26

Bạn có thể sử dụng nhiều trang web, được cung cấp để tìm tên ISP của bạn. Một trong số đó là whoismyisp .

Và để có được tên ISP của bạn, trong tập lệnh bash, bạn có thể lấy trang web này bằng một cái gì đó như curl.

curl -s https://www.whoismyisp.org | grep -oP -m1 '(?<=isp">).*(?=</p)'

Ngoài ra, bạn có thể tìm thấy ISP của bất kỳ IP mong muốn nào bằng lệnh này:

curl -s https://www.whoismyisp.org/ip/xxx.xxx.xxx.xxx | grep -oP -m1 '(?<=isp">).*(?=</p)'

Đó xxx.xxx.xxx.xxxlà IP mà bạn muốn tìm ISP của nó.


Thông tin bổ sung : Bạn có thể tìm IP của mình bằng cách bash với lệnh này (điều đó có thể hữu ích cho các tập lệnh):

dig +short myip.opendns.com @resolver1.opendns.com

2
@TaraSVolpe Tôi rất vui vì tôi có thể giúp bạn
Ali Razmdideh

2
Câu trả lời này dựa trên bố cục của trang web này, trong khi ipinfo.io sử dụng định dạng JSON được xác định rõ. Tôi không hiểu tại sao câu trả lời này được nâng cao hơn.
NieDzejkob

2
@NieDzejkob Có thể vì ipinfo.io/org chỉ cung cấp số AS nhưng không phải tên của ISP
SebMa

1
@SebMa Khi tôi chạy câu trả lời của Byte trên máy của tôi trong Ubuntu trong Windows 10 (WSL), nó đã trả về số AS cộng với tên ISP sử dụng curl ipinfo.io/org. Dù sao đi nữa, tôi đã bình chọn cả câu trả lời và câu hỏi vì tất cả đều tốt :)
WinEunuuchs2Unix

@NieDzejkob curl ipinfo.io/orgkhông xuất ra tên đầy đủ của AS nhưng curl -s ipinfo.io/ASxxx | grep as-namekhông :)
SebMa

27

Bạn có thể sử dụng ví dụ: các dịch vụ của ipinfo.io để xác định IP công cộng của bạn bao gồm một số thông tin bổ sung như tên công ty của nhà cung cấp.

Trang web có thể được truy cập bình thường trong trình duyệt của bạn, nhưng nếu bạn truy vấn nó từ dòng lệnh với ví dụ curl, họ trả lời theo định dạng JSON rõ ràng và được xác định rõ ràng để bạn không cần phân tích bất kỳ HTML nào:

$ curl ipinfo.io
{
  "ip": "xxx.xxx.xxx.xxx",
  "hostname": "xxxxxxxxxxxxxxxxxxxxxxxxxxx.xx",
  "city": "xxxxxxxx",
  "region": "xxxxxxxxxx",
  "country": "xx",
  "loc": "xxx.xxxx,xxx.xxxx",
  "org": "xxxxxxxxxxxx",
  "postal": "xxxxx"
}

Để chỉ hiển thị một giá trị, bạn có thể gửi yêu cầu trực tiếp đến đường dẫn tương ứng. Ví dụ: đối với tên ISP ( org), hãy thử điều này:

curl ipinfo.io/org

Lấy cảm hứng từ câu trả lời này .


2
Có, ipinfo tốt hơn whoismyisp vì định dạng JSON của nó +1
Ali Razmdideh

@AliRazmdideh Thực sự rất hào hùng khi bạn nâng cao câu trả lời của những người khác :)
WinEunuuchs2Unix

@ WinEunuuchs2Unix Cảm ơn, tôi nghĩ nó tốt hơn của tôi.
Ali Razmdideh

1

Đầu tiên tôi lấy số Hệ thống tự trị:

$ curl -s ipinfo.io/org
AS2094 Renater

Sau đó, tôi lấy tên đầy đủ của AS đó:

$ curl -s ipinfo.io/$(curl -s ipinfo.io/org | cut -d "" -f1) | awk '/ as-name / {print $ NF}'

$ whois $(curl -s ipinfo.io/org | cut -d" " -f1) | awk -F: 'BEGIN{IGNORECASE=1}/(as-?name|org-?name):/{sub("^  *","",$2);print$2}'
FR-TELECOM-MANAGEMENT-SUDPARIS
Renater

1
Đối với tôi nó không hoạt động. Tôi vừa thử nghiệm tất cả các câu trả lời trong cả Ubuntu trong Windows 10 (WSL) và Ubuntu 16.04 với Kernel 4.14.27. Tùy chọn 1 của bạn ở trên (câu trả lời của Byte) trả về AS852 TELUS Communications Inc.. Tùy chọn 2 của bạn ở trên không trả về gì cả. Câu trả lời được chấp nhận sử dụng curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'và trả về Telus Communicationslà phiên bản giới hạn của câu trả lời của Byte nhưng vẫn tốt. Đây là một trong những câu trả lời YMMV (Your Mileage May Vary).
WinEunuuchs2Unix 30/03/18

2
Rõ ràng nó phụ thuộc vào nhà cung cấp hoặc vào những gì ipinfo.orgcó trong bộ sưu tập dữ liệu của họ. Đối với tôi curl -s ipinfo.io/orgcho AS3320 Deutsche Telekom AGtrong khi curl -s ipinfo.io/AS3320 | grep as-namecho DTAG(sau một thời gian). Ngoài ra, cái sau lại phân tích cú pháp đầu ra HTML (dễ bị lỗi!). Vì vậy, tôi sẽ gắn bó với câu trả lời của ByteCommander.
PerlDuck

@PerlDuck Khi tôi sử dụng Đức, AS3320tôi nhận được cùng một DTAGsản lượng bạn nhận được. Nhưng tôi tự hỏi nếu bạn sử dụng Canada, curl -s ipinfo.io/AS852 | grep as-namebạn có đầu ra null như tôi.
WinEunuuchs2Unix 30/03/18

@ WinEunuuchs2Unix Vâng, tương tự đối với tôi. Không có đầu ra. Tôi nghĩ rằng curl -s ipinfo.io/orgtrả về dữ liệu dựa trên IP yêu cầu trong khi curl -s ipinfo.io/AS3320trả về dữ liệu dựa trên tham số đã cho (bỏ qua IP của yêu cầu). Dù sao. Phân tích cú pháp HTML mà không có trình phân tích cú pháp phù hợp hầu như luôn là một ý tưởng tồi. Bạn có biết câu trả lời nổi tiếng này trên Stack Overflow ? Thật thú vị khi đọc.
PerlDuck

@PerlDuck Thật là một niềm vui đọc đặc biệt là tất cả các nhân vật kỳ lạ ở cuối. Thận trọng với gió Tôi đã phân tích mã HTML trong bash: askubfox.com/questions/900319/ Lần
WinEunuuchs2Unix
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.