Wie kann ich meinen Internetdienstanbieter (ISP) mithilfe eines Bash-Skripts finden?

21

Ich möchte den Namen meines Internetdienstanbieters in einem Skript verwenden, und ich weiß nicht, wie ich das tun kann.

Bitte helfen Sie mir, danke im Voraus.

Tara S. Volpe
quelle

Antworten:

26

Sie können viele Websites verwenden, um Ihren ISP-Namen zu finden. Einer von ihnen ist whoismyisp .

Und um Ihren ISP-Namen zu erhalten, können Sie diese Site in Bash-Skripten über so etwas wie abrufen curl.

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

Mit diesem Befehl können Sie auch ISPs aller gewünschten IPs finden:

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

Das xxx.xxx.xxx.xxxist die IP, deren ISP Sie finden möchten.


Zusätzliche Informationen : Sie können Ihre IP durch Bash mit diesem Befehl finden (das kann für Skripte hilfreich sein):

dig +short myip.opendns.com @resolver1.opendns.com
Ali Razmdideh
quelle
2
@TaraSVolpe Ich bin froh, dass ich Ihnen helfen konnte
Ali Razmdideh
2
Diese Antwort basiert auf dem Layout dieser Website, während ipinfo.io ein gut definiertes JSON-Format verwendet. Ich verstehe nicht, warum diese Antwort mehr positiv bewertet wird.
NieDzejkob
2
@NieDzejkob Vielleicht, weil ipinfo.io/org nur die AS-Nummer, nicht aber den Namen des ISP
angibt
1
@SebMa Als ich Bytes Antwort auf meinem Computer unter Ubuntu in Windows 10 (WSL) ausführte, gab es die AS-Nummer plus den ISP-Namen mit zurück curl ipinfo.io/org.
Trotzdem habe
@NieDzejkob curl ipinfo.io/orggibt nicht den vollständigen Namen des AS aus, curl -s ipinfo.io/ASxxx | grep as-nametut dies aber :)
SebMa
27

Sie können beispielsweise die Dienste von ipinfo.io verwenden , um Ihre öffentliche IP- Adresse zu ermitteln, einschließlich einiger zusätzlicher Informationen wie dem Firmennamen des Anbieters.

Die Site kann normalerweise in Ihrem Browser aufgerufen werden. Wenn Sie sie jedoch über die Befehlszeile mit z. B. abfragen curl, antworten sie in einem sauberen und gut definierten JSON-Format, sodass Sie kein HTML analysieren müssen:

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

Um nur einen Wert anzuzeigen, können Sie direkt eine Anfrage an den jeweiligen Pfad senden. orgVersuchen Sie beispielsweise Folgendes für den ISP-Namen ( ):

curl ipinfo.io/org

Inspiriert von dieser Antwort .

Byte Commander
quelle
2
Ja, ipinfo ist aufgrund seines JSON-Formats +1 besser als whoismyisp
Ali Razmdideh
@AliRazmdideh Sehr großmütig in der Tat, dass Sie die anderen Jungs Antwort
upvote
@ WinEunuuchs2Unix Danke, ich finde es besser als meins.
Ali Razmdideh
1

Zuerst hole ich mir die Autonomous System Nummer:

$ curl -s ipinfo.io/org
AS2094 Renater

Dann hole ich mir den vollständigen Namen dieser 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
SebMa
quelle
1
Bei mir funktioniert es nicht. Ich habe gerade alle Antworten in Ubuntu in Windows 10 (WSL) und Ubuntu 16.04 mit Kernel 4.14.27 getestet. Ihre obige Option 1 (Antwort von Byte) kehrt zurück AS852 TELUS Communications Inc.. Ihre obige Option 2 gibt nichts zurück. Die akzeptierte Antwort verwendet curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'und gibt zurück, Telus Communicationswas eine eingeschränkte Version von Bytes Antwort ist, aber immer noch gut. Dies ist eine der Antworten von YMMV (Your Mileage May Vary).
WinEunuuchs2Unix
2
Anscheinend kommt es auf den Anbieter an oder darauf, was ipinfo.orgin seiner Datenerfassung steht. Für mich curl -s ipinfo.io/orggibt , AS3320 Deutsche Telekom AGwährend curl -s ipinfo.io/AS3320 | grep as-namegibt DTAG(nach einer Weile). Letzteres analysiert auch wieder die HTML-Ausgabe (fehleranfällig!). Also bleibe ich bei der Antwort von ByteCommander.
PerlDuck
@PerlDuck Wenn ich Deutschland benutze AS3320bekomme ich die selbe DTAGAusgabe wie du. Aber ich frage mich, ob Sie Kanadas verwenden und keine curl -s ipinfo.io/AS852 | grep as-nameAusgabe wie ich erhalten.
WinEunuuchs2Unix
@ WinEunuuchs2Unix Ja, bei mir auch. Keine Leistung. Ich gehe davon aus, dass curl -s ipinfo.io/orgDaten basierend auf der anfragenden IP zurückgegeben werden, während curl -s ipinfo.io/AS3320Daten basierend auf dem angegebenen Parameter zurückgegeben werden (wobei die IP der Anfrage ignoriert wird). Sowieso. Das Parsen von HTML ohne einen richtigen Parser ist fast immer eine schlechte Idee. Kennen Sie diese berühmte Antwort auf Stack Overflow ? Es macht Spaß zu lesen.
PerlDuck
@PerlDuck Es macht Spaß, vor allem die komischen Charaktere am Ende zu lesen. Vorsicht walten lassen Ich habe HTML-Code in Bash analysiert: askubuntu.com/questions/900319/…
WinEunuuchs2Unix