Saya ingin menggunakan nama Penyedia Layanan Internet saya dalam skrip, dan saya tidak tahu bagaimana saya bisa melakukan ini.
Tolong bantu saya, terima kasih sebelumnya.
Anda dapat menggunakan banyak situs web, yang disediakan untuk menemukan nama ISP Anda. Salah satunya adalah whoismyisp .
Dan untuk mendapatkan nama ISP Anda, dalam skrip bash Anda bisa mendapatkan situs ini dengan sesuatu seperti curl
.
curl -s https://www.whoismyisp.org | grep -oP -m1 '(?<=isp">).*(?=</p)'
Anda juga dapat menemukan ISP dari IP yang diinginkan dengan perintah ini:
curl -s https://www.whoismyisp.org/ip/xxx.xxx.xxx.xxx | grep -oP -m1 '(?<=isp">).*(?=</p)'
Itulah xxx.xxx.xxx.xxx
IP yang ingin Anda temukan ISP-nya.
Informasi tambahan : Anda dapat menemukan IP Anda dengan bash dengan perintah ini (itu mungkin berguna untuk skrip):
dig +short myip.opendns.com @resolver1.opendns.com
curl ipinfo.io/org
. Tidak ada yang kurang saya memilih suara baik jawaban dan pertanyaan karena semuanya baik :)curl ipinfo.io/org
tidak menampilkan nama lengkap AS tetapicurl -s ipinfo.io/ASxxx | grep as-name
melakukan :)Anda dapat menggunakan mis. Layanan ipinfo.io untuk menentukan IP publik Anda termasuk beberapa informasi tambahan seperti nama perusahaan penyedia.
Situs ini biasanya dapat dikunjungi di browser Anda, tetapi jika Anda menanyakannya dari command-line dengan eg
curl
, mereka merespons dalam format JSON yang bersih dan terdefinisi dengan baik sehingga Anda tidak perlu menguraikan HTML apa pun:Untuk hanya menampilkan satu nilai, Anda dapat langsung mengirim permintaan ke jalur masing-masing. Misalnya untuk nama ISP (
org
), coba ini:Terinspirasi oleh jawaban ini .
sumber
Pertama saya mengambil nomor Sistem Otonomi:
Lalu saya mengambil nama lengkap AS itu:
$ curl -s ipinfo.io/$(curl -s ipinfo.io/org | cut -d "" -f1) | awk '/ as-name / {print $ NF}'sumber
AS852 TELUS Communications Inc.
. Pilihan Anda 2 di atas tidak menghasilkan apa-apa. Jawaban yang diterima menggunakancurl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'
dan mengembalikanTelus Communications
yang merupakan versi terbatas dari jawaban Byte tetapi masih bagus. Ini adalah salah satu jawaban YMMV (Your Mileage May Vary).ipinfo.org
ada dalam pengumpulan data mereka. Bagi sayacurl -s ipinfo.io/org
memberiAS3320 Deutsche Telekom AG
sambilcurl -s ipinfo.io/AS3320 | grep as-name
memberiDTAG
(setelah beberapa saat). Selain itu, yang terakhir adalah penguraian kembali hasil HTML (rawan kesalahan!). Jadi saya akan tetap dengan jawaban ByteCommander.AS3320
saya mendapatkanDTAG
output yang sama dengan yang Anda dapatkan. Tapi saya ingin tahu apakah Anda menggunakan Kanada,curl -s ipinfo.io/AS852 | grep as-name
Anda mendapatkan output nol seperti saya.curl -s ipinfo.io/org
mengembalikan data berdasarkan IP yang diminta, sementaracurl -s ipinfo.io/AS3320
mengembalikan data berdasarkan parameter yang diberikan (mengabaikan IP permintaan). Bagaimanapun. Parsing HTML tanpa parser yang tepat hampir selalu merupakan ide yang buruk. Apakah Anda tahu jawaban terkenal ini tentang Stack Overflow ? Sangat menyenangkan untuk dibaca.