답변:
ISP 이름을 찾기 위해 제공된 많은 웹 사이트를 사용할 수 있습니다. 그들 중 하나는 whoismyisp 입니다.
그리고 ISP 이름을 얻으려면 bash 스크립트에서 다음과 같은 방법 으로이 사이트를 얻을 수 있습니다 curl.
curl -s https://www.whoismyisp.org | grep -oP -m1 '(?<=isp">).*(?=</p)'
또한이 명령으로 원하는 IP의 ISP를 찾을 수 있습니다.
curl -s https://www.whoismyisp.org/ip/xxx.xxx.xxx.xxx | grep -oP -m1 '(?<=isp">).*(?=</p)'
그게 전부는 xxx.xxx.xxx.xxxIP 당신은 그것의 ISP를 찾으려는 것이다.
추가 정보 :이 명령을 사용하여 bash로 IP를 찾을 수 있습니다 (스크립트에 도움이 될 수 있음).
dig +short myip.opendns.com @resolver1.opendns.com
curl ipinfo.io/org.
curl ipinfo.io/org은 AS의 전체 이름을 출력하지 않지만 다음을 curl -s ipinfo.io/ASxxx | grep as-name수행합니다. :
예를 들어 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
이 답변에서 영감을 얻었습니다 .
먼저 자율 시스템 번호를 가져옵니다.
$ curl -s ipinfo.io/org
AS2094 Renater
그런 다음 해당 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.. 위의 옵션 2는 아무것도 반환하지 않습니다. 허용 된 답변은 Byte의 답변의 제한된 버전이지만 여전히 좋은 것을 사용 curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'하고 반환합니다 Telus Communications. 이것은 YMMV (마일리지가 다를 수 있음) 답변 중 하나입니다 .
ipinfo.org데이터 수집 에 무엇이 있는지에 달려 있습니다. 나를 위해 curl -s ipinfo.io/org주는 AS3320 Deutsche Telekom AG동안 curl -s ipinfo.io/AS3320 | grep as-name제공 DTAG(잠시 후). 또한 후자는 다시 HTML 출력을 구문 분석합니다 (오류가 발생하기 쉽습니다). ByteCommander의 답변을 고수하겠습니다.
AS3320얻는 것과 같은 DTAG결과를 얻습니다. 그러나 캐나다를 사용 curl -s ipinfo.io/AS852 | grep as-name하면 나처럼 null 출력을 얻는 지 궁금합니다 .