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.
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.
Jawaban:
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 tetapi curl -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:
$ 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"
}
Untuk hanya menampilkan satu nilai, Anda dapat langsung mengirim permintaan ke jalur masing-masing. Misalnya untuk nama ISP ( org
), coba ini:
curl ipinfo.io/org
Terinspirasi oleh jawaban ini .
Pertama saya mengambil nomor Sistem Otonomi:
$ curl -s ipinfo.io/org
AS2094 Renater
Lalu saya mengambil nama lengkap AS itu:
$ 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
AS852 TELUS Communications Inc.
. Pilihan Anda 2 di atas tidak menghasilkan apa-apa. Jawaban yang diterima menggunakan curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'
dan mengembalikan Telus 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 saya curl -s ipinfo.io/org
memberi AS3320 Deutsche Telekom AG
sambil curl -s ipinfo.io/AS3320 | grep as-name
memberi DTAG
(setelah beberapa saat). Selain itu, yang terakhir adalah penguraian kembali hasil HTML (rawan kesalahan!). Jadi saya akan tetap dengan jawaban ByteCommander.
AS3320
saya mendapatkan DTAG
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, sementara curl -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.