Jak korzystać z polecenia whois w systemie Linux

Wyszukiwanie whois dostarczy Ci wielu informacji o właścicielu domeny internetowej. W systemie Linux wyszukiwania whois można uruchamiać z wiersza poleceń. Przeprowadzimy cię przez to.

System whois

System whois to lista rekordów, która zawiera szczegółowe informacje dotyczące zarówno własności domen, jak i właścicieli. Plik Internet Corporation for Assigned Names and Numbers (ICANN) reguluje rejestrację i własność nazw domen, ale lista rekordów jest przechowywana przez wiele firm, zwanych rejestrami.

Każdy może zapytać o listę rekordów. Gdy to zrobisz, jeden z rejestrów zajmie się Twoją prośbą i prześle Ci szczegółowe informacje z odpowiedniego rekordu whois.

Zanim przejdziemy dalej, ważne jest, aby zapoznać się z następującymi terminami:

Rejestr: firma zarządzająca listą zawierającą zestaw nazw domen (jest ich wiele).
Abonent: prawny właściciel domeny; jest zarejestrowany na tę osobę.
Rejestrator: rejestrujący korzysta z usług rejestratora, aby dokonać rejestracji.

Rekord whois zawiera wszystkie informacje kontaktowe związane z osobą, firmą lub innym podmiotem, który zarejestrował nazwę domeny. Niektóre rejestracje zawierają więcej informacji niż inne, a niektóre rejestry zwracają różne ilości informacji.

Typowy rekord whois będzie zawierał następujące informacje:

Nazwa i dane kontaktowe rejestrującego: Właściciel domeny.
Nazwa i dane kontaktowe rejestratora: organizacja, która zarejestrowała nazwę domeny.
Data rejestracji.
Data ostatniej aktualizacji informacji.
Data wygaśnięcia.

Możesz tworzyć żądania whois w Internecie, ale za pomocą polecenia whois w systemie Linux można wyszukiwać bezpośrednio z wiersza poleceń. Jest to przydatne, jeśli chcesz przeprowadzić wyszukiwanie z komputera bez graficznego interfejsu użytkownika lub jeśli chcesz to zrobić za pomocą skryptu powłoki.

Instalowanie whois

Polecenie whois zostało już zainstalowane w systemie Ubuntu 20.04. Jeśli chcesz go zainstalować w swojej wersji Ubuntu, możesz to zrobić za pomocą następującego polecenia:

sudo apt-get install whois

sudo apt-get install whois w oknie terminala.

W Fedorze użyj poniższego polecenia:

sudo dnf install whois

sudo dnf zainstaluj whois w oknie terminala.

I na koniec w Manjaro wpisz:

sudo pacman -Syu whois

sudo pacman -Syu whois w oknie terminala.

Korzystanie z usługi whois z nazwą domeny

Możesz użyć polecenia whois z nazwami domen lub protokół internetowy Adresy (IP). Dla każdego z nich zwracany jest nieco inny zestaw informacji.

W naszym pierwszym przykładzie użyjemy nazwy domeny:

whois cnn.com

whois cnn.com w oknie terminala

Odpowiedź z rejestru whois zaczyna się od podsumowania, a następnie powtarza się z uwzględnieniem dodatkowych informacji. Poniżej zamieściliśmy przykład z usuniętymi oświadczeniami dotyczącymi znaków towarowych i warunkami użytkowania:

Domain Name: CNN.COM
Registry Domain ID: 3269879_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.corporatedomains.com
Registrar URL: http://www.cscglobal.com/global/web/csc/digital-brand-services.html
Updated Date: 2018-04-10T16:43:38Z
Creation Date: 1993-09-22T04:00:00Z
Registry Expiry Date: 2026-09-21T04:00:00Z
Registrar: CSC Corporate Domains, Inc.
Registrar IANA ID: 299
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: 8887802723
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
Name Server: NS-1086.AWSDNS-07.ORG
Name Server: NS-1630.AWSDNS-11.CO.UK
Name Server: NS-47.AWSDNS-05.COM
Name Server: NS-576.AWSDNS-08.NET
DNSSEC: unsigned

Jest to dość oczywiste. Widzimy różne szczegóły dotyczące rejestratora i rejestru, w tym dane kontaktowe, daty rejestracji i tak dalej. Na liście jest kilka pozycji, których możesz nie rozpoznać.

Plik Urząd ds. Numerów przydzielonych w Internecie (IANA) nadzoruje i koordynuje takie rzeczy jak najwyższy poziom System nazw domen strefy, Protokół IP systemy adresowania i lista rejestrów. Rejestr ten ma numer 299, który jest wskazany w wykazie jako „IANA ID: 299”.

Linie „status domeny” pokazują stan, w jakim znajduje się domena, i może być ich kilka jednocześnie. Stany są zdefiniowane w Extensible Provisioning Protocol. Niektóre z nich są rzadko spotykane, a inne ograniczają się do określonych sytuacji, takich jak spory prawne.

Do tej rejestracji dołączone są następujące stany:

clientTransferProhibited: Rejestr domeny odrzuci żądania transferu domeny od obecnego rejestratora do innego.
serverDeleteProhibited: domeny nie można usunąć.
serverTransferProhibited: domeny nie można przenieść do innego rejestratora.
serverUpdateProhibited: domeny nie można zaktualizować

Trzy ostatnie są zwykle włączane na żądanie rejestrującego lub w przypadku sporu prawnego. W tym przypadku CNN prawdopodobnie zażądało wprowadzenia ich w celu „zablokowania” domeny firmy.

„! DNSSEC” oznacza Rozszerzenia zabezpieczeń systemu nazw domen, schemat umożliwiający programowi rozpoznawania nazw DNS kryptograficzne sprawdzenie, czy dane otrzymane ze strefy DNS są prawidłowe i nie zostały naruszone.

Dłuższą część odpowiedzi pokazano poniżej:

Domain Name: cnn.com
Registry Domain ID: 3269879_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.corporatedomains.com
Registrar URL: www.cscprotectsbrands.com
Updated Date: 2018-04-10T16:43:38Z
Creation Date: 1993-09-22T04:00:00Z
Registrar Registration Expiration Date: 2026-09-21T04:00:00Z
Registrar: CSC CORPORATE DOMAINS, INC.
Registrar IANA ID: 299
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.8887802723
Domain Status: clientTransferProhibited http://www.icann.org/epp#clientTransferProhibited
Domain Status: serverDeleteProhibited http://www.icann.org/epp#serverDeleteProhibited
Domain Status: serverTransferProhibited http://www.icann.org/epp#serverTransferProhibited
Domain Status: serverUpdateProhibited http://www.icann.org/epp#serverUpdateProhibited
Registry Registrant ID:
Registrant Name: Domain Name Manager
Registrant Organization: Turner Broadcasting System, Inc.
Registrant Street: One CNN Center
Registrant City: Atlanta
Registrant State/Province: GA
Registrant Postal Code: 30303
Registrant Country: US
Registrant Phone: +1.4048275000
Registrant Phone Ext:
Registrant Fax: +1.4048271995
Registrant Fax Ext:
Registrant Email: [email protected]
Registry Admin ID:
Admin Name: Domain Name Manager
Admin Organization: Turner Broadcasting System, Inc.
Admin Street: One CNN Center
Admin City: Atlanta
Admin State/Province: GA
Admin Postal Code: 30303
Admin Country: US
Admin Phone: +1.4048275000
Admin Phone Ext:
Admin Fax: +1.4048271995
Admin Fax Ext:
Admin Email: [email protected]
Registry Tech ID:
Tech Name: TBS Server Operations
Tech Organization: Turner Broadcasting System, Inc.
Tech Street: One CNN Center
Tech City: Atlanta
Tech State/Province: GA
Tech Postal Code: 30303
Tech Country: US
Tech Phone: +1.4048275000
Tech Phone Ext:
Tech Fax: +1.4048271593
Tech Fax Ext:
Tech Email: [email protected]
Name Server: ns-576.awsdns-08.net
Name Server: ns-1086.awsdns-07.org
Name Server: ns-47.awsdns-05.com
Name Server: ns-1630.awsdns-11.co.uk
DNSSEC: unsigned

Daje nam to mniej więcej te same informacje, co podsumowanie, z dodatkowymi sekcjami dotyczącymi rejestrującego i jego danych kontaktowych do celów administracyjnych i technicznych.

Nazwa rejestrującego jest podana jako „Menedżer nazw domen”. Czasami za opłatą firmy pozwalają swojemu rejestratorowi zarejestrować domenę w swoim imieniu pod nazwą ogólną, którą rejestrator utrzymuje w tym celu. Wydaje się, że tak jest w tym przypadku. Jednak ponieważ adres rejestrującego to „1 CCN Center”, jest oczywiste, kto jest rejestrującym.

Korzystanie z usługi Whois z adresem IP

Korzystanie z usługi Whois z adresem IP jest tak samo proste, jak używanie jej z nazwą domeny. Po prostu podaj adres IP po whois, na przykład:

whois 205.251.242.103

whois 205.251.242.103 w oknie terminala.

Oto wynik zwracany przez whois:

NetRange: 205.251.192.0 - 205.251.255.255
CIDR: 205.251.192.0/18
NetName: AMAZON-05
NetHandle: NET-205-251-192-0-1
Parent: NET205 (NET-205-0-0-0-0)
NetType: Direct Allocation
OriginAS: AS16509, AS39111, AS7224
Organization: Amazon.com, Inc. (AMAZON-4)
RegDate: 2010-08-27
Updated: 2015-09-24
Ref: https://rdap.arin.net/registry/ip/205.251.192.0

OrgName: Amazon.com, Inc.
OrgId: AMAZON-4
Address: 1918 8th Ave
City: SEATTLE
StateProv: WA
PostalCode: 98101-1244
Country: US
RegDate: 1995-01-23
Updated: 2020-03-31
Ref: https://rdap.arin.net/registry/entity/AMAZON-4

OrgAbuseHandle: AEA8-ARIN
OrgAbuseName: Amazon EC2 Abuse
OrgAbusePhone: +1-206-266-4064 
OrgAbuseEmail: [email protected]
OrgAbuseRef: https://rdap.arin.net/registry/entity/AEA8-ARIN

OrgNOCHandle: AANO1-ARIN
OrgNOCName: Amazon AWS Network Operations
OrgNOCPhone: +1-206-266-4064 
OrgNOCEmail: [email protected]
OrgNOCRef: https://rdap.arin.net/registry/entity/AANO1-ARIN

OrgRoutingHandle: ADR29-ARIN
OrgRoutingName: AWS Dogfish Routing
OrgRoutingPhone: +1-206-266-4064 
OrgRoutingEmail: [email protected]
OrgRoutingRef: https://rdap.arin.net/registry/entity/ADR29-ARIN

OrgRoutingHandle: IPROU3-ARIN
OrgRoutingName: IP Routing
OrgRoutingPhone: +1-206-266-4064 
OrgRoutingEmail: [email protected]
OrgRoutingRef: https://rdap.arin.net/registry/entity/IPROU3-ARIN

OrgTechHandle: ANO24-ARIN
OrgTechName: Amazon EC2 Network Operations
OrgTechPhone: +1-206-266-4064 
OrgTechEmail: [email protected]
OrgTechRef: https://rdap.arin.net/registry/entity/ANO24-ARIN

RTechHandle: ROLEA19-ARIN
RTechName: Role Account
RTechPhone: +1-206-266-4064 
RTechEmail: [email protected]
RTechRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN

RAbuseHandle: ROLEA19-ARIN
RAbuseName: Role Account
RAbusePhone: +1-206-266-4064 
RAbuseEmail: [email protected]
RAbuseRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN

RNOCHandle: ROLEA19-ARIN
RNOCName: Role Account
RNOCPhone: +1-206-266-4064 
RNOCEmail: [email protected]
RNOCRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN

Pierwsza sekcja zawiera informacje dotyczące organizacji, do której należy adres IP, którego szukaliśmy (w tym przypadku jeden z wielu należących do Amazon). Otrzymaliśmy również identyfikatory używane do wewnętrznej identyfikacji Amazon.com, Inc. przez rejestr.

Druga sekcja zawiera adres i nazwę rejestrującego, Amazon.com, Inc. Adres internetowy w polu „Ref:” zawiera te informacje w Notacja obiektu JavaScript (JSON).

Pozostałe sekcje zawierają informacje kontaktowe, które pozwalają zgłaszać problemy dotyczące nadużyć, działania sieci, routingu ruchu i tak dalej.

Używanie whois w skrypcie

Aby użyć whois w skrypcie, załóżmy, że mamy zestaw domen, dla których musimy sprawdzić daty wygaśnięcia. Możemy to osiągnąć za pomocą małego skryptu powłoki.

Wpisz to w edytorze i zapisz jako „get-expiry.sh”:

#!/bin/bash

DOMAIN_LIST="newsblog.pl.com reviewgeek.com lifesavvy.com cloudsavvyit.com"

echo "Expiration dates:"

for domain in $DOMAIN_LIST
do
  echo -n "$domain :: "
  whois $domain | grep 'Expiration' | awk '{print $5}'
done

Ustaw skrypt mieć uprawnienia do wykonywania używając polecenia chmod, jak pokazano poniżej:

chmod +x get-expiry.sh

chmod + x get-expiry.sh w oknie terminala.

Uruchom skrypt, wywołując go po nazwie:

./get-expiry.sh

./get-expiry.sh w oknie terminala.

Data wygaśnięcia każdej domeny jest wyodrębniana z odpowiedzi z whois przy użyciu polecenia grep to znajdź wiersze zawierające ciąg „Wygaśnięcie” i użycie awk do drukuje piątą pozycję z tej linii.

Wygoda i automatyzacja

Tak, możesz również wyszukiwać whois online. Jednak posiadanie polecenia whois dostępnego w oknie terminala i skryptach zapewnia wygodę, elastyczność i daje możliwość zautomatyzowania części obciążenia.