인터넷 서비스 제공 업체의 이름을 스크립트에 사용하고 싶습니다. 어떻게해야하는지 모르겠습니다.
미리 감사드립니다.
답변
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.xxx
IP 당신은 그것의 ISP를 찾으려는 것이다.
추가 정보 :이 명령을 사용하여 bash로 IP를 찾을 수 있습니다 (스크립트에 도움이 될 수 있음).
dig +short myip.opendns.com @resolver1.opendns.com
답변
예를 들어 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