ฉันจะค้นหาผู้ให้บริการอินเทอร์เน็ต (ISP) ของฉันโดยใช้สคริปต์ทุบตีได้อย่างไร


21

ฉันต้องการใช้ชื่อผู้ให้บริการอินเทอร์เน็ตในสคริปต์และฉันไม่รู้ว่าฉันจะทำสิ่งนี้ได้อย่างไร

โปรดช่วยฉันขอบคุณล่วงหน้า

คำตอบ:


26

คุณสามารถใช้เว็บไซต์จำนวนมากที่จัดไว้เพื่อค้นหาชื่อ ISP ของคุณ หนึ่งในนั้นคือwhoismyisp

และได้รับชื่อ ISP curlของคุณในสคริปต์ทุบตีคุณจะได้รับเว็บไซต์นี้ได้โดยสิ่งที่ต้องการ

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

นอกจากนี้คุณสามารถค้นหา ISP ของ IP ที่ต้องการด้วยคำสั่งนี้:

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

Thats xxx.xxx.xxx.xxxคือ IP ที่คุณต้องการที่จะหาผู้ให้บริการอินเทอร์เน็ตของ


ข้อมูลเพิ่มเติม : คุณสามารถค้นหา IP ของคุณโดยทุบตีด้วยคำสั่งนี้ (นั่นอาจเป็นประโยชน์สำหรับสคริปต์):

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

2
@TaraSVolpe ฉันดีใจที่ฉันสามารถช่วยคุณได้
Ali Razmdideh

2
คำตอบนี้ขึ้นอยู่กับเค้าโครงของเว็บไซต์นี้ในขณะที่ ipinfo.io ใช้รูปแบบ JSON ที่กำหนดไว้อย่างดี ฉันไม่เข้าใจว่าทำไมคำตอบนี้จึงได้รับการยกระดับขึ้น
NieDzejkob

2
@NieDzejkob อาจเป็นเพราะ ipinfo.io/org เพียงให้หมายเลข AS แต่ไม่ใช่ชื่อของ ISP
SebMa

1
@SebMa เมื่อฉันวิ่งคำตอบไบต์ในเครื่องของฉันในอูบุนตูใน Windows 10 (WSL) มันกลับจำนวน AS บวกชื่อ ISP curl ipinfo.io/orgโดยใช้ ไม่มีใครเลยที่ฉันโหวตให้ทั้งคำตอบและคำถามเพราะมันดี :)
WinEunuuchs2Unix

@NieDzejkob curl ipinfo.io/orgไม่ได้ส่งออกชื่อเต็มของ AS แต่curl -s ipinfo.io/ASxxx | grep as-nameจะ :) :)
SebMa

27

คุณสามารถใช้เช่นบริการของipinfo.ioเพื่อตรวจสอบ IP สาธารณะของคุณรวมถึงข้อมูลเพิ่มเติมบางอย่างเช่นชื่อ บริษัท ผู้ให้บริการ

ไซต์สามารถเข้าเยี่ยมชมได้ตามปกติในเบราว์เซอร์ของคุณ แต่ถ้าคุณค้นหาจากบรรทัดคำสั่งด้วยเช่นcurlพวกเขาตอบสนองในรูปแบบ JSON ที่สะอาดและกำหนดชัดเจนเพื่อให้คุณไม่จำเป็นต้องแยกวิเคราะห์ HTML:

$ 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"
}

หากต้องการแสดงเพียงค่าเดียวคุณสามารถส่งคำขอไปยังเส้นทางที่เกี่ยวข้องได้โดยตรง เช่นชื่อ ISP ( org) ลองทำสิ่งนี้:

curl ipinfo.io/org

แรงบันดาลใจจากคำตอบนี้


2
ใช่ ipinfo นั้นดีกว่า whoismyisp เพราะรูปแบบ JSON ของ +1
Ali Razmdideh

@AliRazmdideh มีน้ำใจมากแน่นอนว่าคุณ upvote คนอื่นตอบ :)
WinEunuuchs2Unix

@ WinEunuuchs2Unix ขอบคุณฉันคิดว่ามันดีกว่าของฉัน
Ali Razmdideh

1

ก่อนอื่นฉันดึงหมายเลขระบบปกครองตนเอง:

$ curl -s ipinfo.io/org
AS2094 Renater

จากนั้นฉันก็ดึงชื่อเต็มของ AS:

$ curl -s ipinfo.io/$(curl -s ipinfo.io/org | cut -d "" -f1) | awk '/ as-name / {พิมพ์ $ 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
สำหรับฉันมันไม่ทำงาน ฉันเพิ่งทดสอบคำตอบทั้งหมดทั้งใน Ubuntu ใน Windows 10 (WSL) และ Ubuntu 16.04 ด้วย Kernel 4.14.27 ตัวเลือกของคุณ 1 ด้านบน (คำตอบของ Byte) จะกลับ AS852 TELUS Communications Inc.มา ตัวเลือกของคุณที่ 2 ด้านบนไม่มีอะไรส่งคืน คำตอบที่ยอมรับนั้นใช้curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'และส่งคืนTelus Communicationsซึ่งเป็นคำตอบที่ จำกัด ของ Byte แต่ก็ยังดี นี่เป็นหนึ่งในคำตอบของYMMV (Your Mileage May Vary)
WinEunuuchs2Unix

2
เห็นได้ชัดว่ามันขึ้นอยู่กับผู้ให้บริการหรือสิ่งที่ipinfo.orgมีในการเก็บรวบรวมข้อมูลของพวกเขา สำหรับฉันcurl -s ipinfo.io/orgให้AS3320 Deutsche Telekom AGในขณะที่curl -s ipinfo.io/AS3320 | grep as-nameให้DTAG(หลังจากที่ในขณะ) นอกจากนี้หลังจะแยกวิเคราะห์เอาต์พุต HTML อีกครั้ง (เกิดข้อผิดพลาดได้ง่าย!) ดังนั้นฉันจะยึดติดกับคำตอบของ ByteCommander
PerlDuck

@PerlDuck เมื่อฉันใช้ Germany AS3320ฉันได้รับDTAGผลลัพธ์เดียวกันกับที่คุณได้รับ แต่ฉันสงสัยว่าถ้าคุณใช้ของแคนาดาcurl -s ipinfo.io/AS852 | grep as-nameคุณจะได้รับผลเช่นเดียวกับฉัน
WinEunuuchs2Unix

@ WinEunuuchs2Unix ใช่เหมือนกันสำหรับฉัน ไม่มีเอาต์พุต ฉันคำนวณว่าcurl -s ipinfo.io/orgส่งคืนข้อมูลตาม IP ที่ร้องขอในขณะที่curl -s ipinfo.io/AS3320ส่งคืนข้อมูลตามพารามิเตอร์ที่กำหนด (ไม่สนใจ IP ของคำขอ) อย่างไรก็ตาม. การแยก HTML โดยไม่มีตัวแยกวิเคราะห์ที่เหมาะสมเป็นความคิดที่ดี คุณรู้คำตอบที่โด่งดังเกี่ยวกับStack Overflowหรือไม่? มันสนุกที่จะอ่าน
PerlDuck

@PerlDuck มันเป็นการอ่านที่สนุกโดยเฉพาะตัวละครแปลก ๆ ในตอนท้าย ข้อควรระวังในการขว้างปาฉันได้แยกวิเคราะห์โค้ด HTML ใน bash: askubuntu.com/questions/900319/ …
WinEunuuchs2Unix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.