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.
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.
Antworten:
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
curl ipinfo.io/org.
curl ipinfo.io/orggibt nicht den vollständigen Namen des AS aus, curl -s ipinfo.io/ASxxx | grep as-nametut dies aber :)
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 .
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
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).
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.
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.
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.