Jump to content
tmi

Kody skryptów do sprawdzania domen wg hosta

Recommended Posts

Witam,

 

Kody skryptów do sprawdzania domen wg hosta w bashu:

 

#!/bin/bash

plik=lista.txt;
x=1;

while [ ${x} -le `cat ${plik} | wc -l` ]; do
host `sed -n -e ${x}p $plik` >> wynik.txt

x=$[x + 1]
done

 

lista.txt - lista domen do sprawdzenia

wynik.txt - sprawdzone domeny

 

Nastepnie domeny bez hosta można znaleźć używając cat wynik.txt | grep NXDOMAIN > wolnebezhosta.txt. Można jeszcze elegancko wyciąć słowa takie jak Host, not found: 3(NXDOMAIN) i pozostaje nam czysta lista.

 

 

I w PHP:

 

<?php


$fp = fopen("wynik.txt", "w");
$tablica=file('lista.txt');
for ($x=1;$x<=count($tablica);$x++) { 
$host = gethostbyname(trim($tablica[$x]));
if($host==trim($tablica[$x])) $wolna=1; else $wolna=0;
if($wolna==1){


fwrite($fp, $tablica[$x]."\n");
}

}
fclose($fp);
?>

 

pliki wynik.txt i lista.txt tak samo jak w przypadku 1 skryptu.

Share this post


Link to post
Share on other sites

Szybkie sprawdzania domen po hoście w bashu:

 

for i in `cat listadomen.txt`; do dig "$i" @serwer_nazw | grep NX >/dev/null && echo "$i" && echo "$i" >>listawolnych_`date +%y%m%d`.txt; done

 

W miejscu @serwer_nazw można wstawić IP najszybszego dla nas serwera nazw (najczęściej będzie to DNS naszego dostarczyciela internetu), można też usunąć cały ten parametr (razem z @).

 

Formułka && echo "$i" >>listawolnych_`date +%y%m%d`.txt zapisuje wyniki narastająco do pliku o nazwie np. listawolnych_070806.txt, można ją usunąć jeśli wyniki mają być tylko wyświetlone na ekranie.

 

Aha, oczywiście w miejsce listadomen.txt należy wstawić nazwę pliku z listą domen, które chcemy sprawdzić. ;-)

 

Wynikiem sprawdzania jest lista domen wolnych oraz w postępowaniu, bardzo rzadko wpadną na nią domeny, które mają coś pochrzanione, np. nie mają przypisanych DNS-ów albo są w trakcie modyfikacji i nie działają poprawnie.

 

Generator x-literówek wrzucę później.

Share this post


Link to post
Share on other sites

I już program TopDomain jest bezużyteczny :( Jak dobrze, że mój program sprawdza czy domena jest naprawdę wolna, a nie bawi się w jakies sprawdzanie hosta ;)

Share this post


Link to post
Share on other sites
Jak dobrze, że mój program sprawdza czy domena jest naprawdę wolna, a nie bawi się w jakies sprawdzanie hosta :(

 

To tylko jedna linijka więcej, w dodatku krótsza. ;-)

Share this post


Link to post
Share on other sites
To tylko jedna linijka więcej, w dodatku krótsza. ;-)

 

Wcale nie. Napisz tu i przedstaw np. liste wolnych imion, taka jaka ja przedstawilem w dziale wolne domeny (imiona wez z wikipedii).

Share this post


Link to post
Share on other sites

Ja myślę że każde imię jest już przez kogoś zajęte :(

Share this post


Link to post
Share on other sites
Ja myślę że każde imię jest już przez kogoś zajęte ;)

 

:(

Share this post


Link to post
Share on other sites

Przeciez alfons.biz byla wolna ;) A moze jeszcze jest :(

 

Alfonsowi nie udalo sie jeszcze zajac swojej domeny :o

 

btw: rozumiem ukryte przeslanie ;)

Ale przeciez w USA coraz wiecej ludzi nazywa sie nazwami jakichs rzeczy..

Pani zlewozmywak

Pan pedzaca chmura ;)

 

 

Czyli cos jednak jeszcze zostalo :o

Share this post


Link to post
Share on other sites
Przeciez alfons.biz byla wolna ;) A moze jeszcze jest :(

 

Alfonsowi nie udalo sie jeszcze zajac swojej domeny :o

 

btw: rozumiem ukryte przeslanie ;)

Ale przeciez w USA coraz wiecej ludzi nazywa sie nazwami jakichs rzeczy..

Pani zlewozmywak

Pan pedzaca chmura ;)

Czyli cos jednak jeszcze zostalo :o

 

 

krotsza lista polskich, wolnych imion *.pl (ponad 100) jest pod adresem

http://wolnedomeny.net/wolne_domeny.php?opcja=7

Share this post


Link to post
Share on other sites

Tak pierwsza z brzegu: Apolinary.pl

Widzę, że temat kogoś zainspirował bo Wincenty.pl i Gwidon.pl były wolne jak niedawno sprawdzałem a teraz oczekują w kolejce na rejestrację. :( Wskazówka dla tego co tego (dla tych?) co je zarejestrował: jak dobrze poszukasz to znajdziesz coś jeszcze. ;)

 

EDIT:

Ups, sorki, nie zauważyłem listy ryskadowa, opierałem się na własnych danych. ;) Widzę, że moja lista imion była nieco uboga.

EDIT2:

Żeby ten mój post nie był totalnym spamem dorzucę moją wersję skryptu:

#!/bin/bash

for domena in `cat $2`;
do
 wynik=`host $domena.$1 | grep -c 'NXDOMAIN'`
 if [ $wynik -eq 1 ]; then
    echo $domena.$1
 fi
done

Wywołanie: skrypt rozszerzenie plik.txt > wyniki.txt

Plik.txt to lista domen bez rozszerzeń.

Share this post


Link to post
Share on other sites
<?php
$fp = fopen("wynik.txt", "w");
$tablica=file('lista.txt');
for ($x=1;$x<=count($tablica);$x++) { 
$host = gethostbyname(trim($tablica[$x]));
if($host==trim($tablica[$x])) $wolna=1; else $wolna=0;
if($wolna==1){
fwrite($fp, $tablica[$x]."\n");
}

}
fclose($fp);
?>

 

pliki wynik.txt i lista.txt tak samo jak w przypadku 1 skryptu.

 

 

mala uwaga! skrypy pomija pierwszy element z pliku

poprawic na for ($x=0;$x<count($tablica);$x++)

 

 

i drugi problem jaki napotkalem to dla

skryptu odpalanego z serwera webd.pl funkcja gethostbyname zawsze zwraca numer IP (jak znajdzie hosta i jak na 100% go nie ma) , ale dla hostow nieistniejacych zwraca IP serwera webd.pl

 

sprawdzalem z dwoch roznych sieci komputerowych

 

 

 

natomiast skrypt odpalany z serwera efuturo.pl dziala poprawnie i dla wolnych domen zwraca nazwa hosta

 

 

gdzie moze tkwic problem w konfiguracji skryptu / serwera w webd.pl ? zebym mogl o czym pogadac z adminem webd.pl ?

Share this post


Link to post
Share on other sites
i drugi problem jaki napotkalem to dla

skryptu odpalanego z serwera webd.pl funkcja gethostbyname zawsze zwraca numer IP (jak znajdzie hosta i jak na 100% go nie ma) , ale dla hostow nieistniejacych zwraca IP serwera webd.pl

 

No to po prostu sprawdzaj sobie jakie IP dostałeś w odpowiedzi i jeżeli to będzie adres webd to przyjmuj, że domena nie istnieje. Co prawda w ten sposób pokaże Ci, że domeny zaparkowane na webd są wolne, ale to będzie chyba na tyle niewielki odsetek, że nie będzie z tym problemu. Jako ciekawostkę podam, że dla nieistniejących domen .ws zwracany jest IP organizacji promującej to rozszerzenie (nigdy nie dostaniemy NXDOMAIN). Tak więc modyfikacja skryptu może się przydać w przyszłości.

Share this post


Link to post
Share on other sites
No to po prostu sprawdzaj sobie jakie IP dostałeś w odpowiedzi i jeżeli to będzie adres webd to przyjmuj, że domena nie istnieje. Co prawda w ten sposób pokaże Ci, że domeny zaparkowane na webd są wolne, ale to będzie chyba na tyle niewielki odsetek, że nie będzie z tym problemu. Jako ciekawostkę podam, że dla nieistniejących domen .ws zwracany jest IP organizacji promującej to rozszerzenie (nigdy nie dostaniemy NXDOMAIN). Tak więc modyfikacja skryptu może się przydać w przyszłości.

 

 

tak tez poczatkowo robilem, ze IP providera traktowalem jak wolna domene, ale wtedy ok 15% domen bylo wolnych , a faktycznie 2-3%

 

ale w miedzyczasie sprawdzilem dzialanie funkcji dig , i chyba dziala dobrze na obu serwerach,....nie znam jeszcze jej wad:)

 

 

$ip = `/usr/bin/dig $host A +short`;

jesli pusty ciag to domena moze byc wolna

Share this post


Link to post
Share on other sites
Generator x-literówek wrzucę później.

 

Przypomniałem sobie... no to proszę:

 

for i in {0..9} {a..z}; do for j in {0..9} {a..z}; do echo "$i$j.pl" >>lista.txt; done; done

 

To da nam listę wszystkich możliwych domen dwuznakowych. Żeby uzyskać dwuliterowe, wystarczy usunąć oba {0..9}, a dla dwucyfrowych – odwrotnie. :-)

 

Analogicznie można wygenerować wszystkie domeny 3-, 4-, x-znakowe, np.:

 

for i in {a..z}; do for j in {a..z}; do for k in {a..z}; do echo "$i$j$k.pl" >>lista.txt; done; done; done

 

da nam listę możliwych domen trzyliterowych.

 

Proste? Proste. ;-)

 

Oczywiście komendy do wykonania w bashu, jeśli ktoś ma Windows, to musi zainstalować zestaw programów Cygwin. Aczkolwiek skrypty są równie proste do napisania w innych językach programowania.

Share this post


Link to post
Share on other sites

używają polecenia

 

for i in `cat listadomen.txt`; do dig "$i" @serwer_nazw | grep NX >/dev/null && echo "$i" && echo "$i" >>listawolnych_`date +%y%m%d`.txt; done

 

wywala mi błąd pisze " line 1: dig: command not fount"

 

może mi ktoś pomóc ?

Edited by djpiatek

Share this post


Link to post
Share on other sites
tylko jest problem bo ja mam windowsa... a to co mi podałeś jest na linux'a o ile się nie myle

 

Możesz skorzystać z live Cd do wyboru do koloru masz B)

Share this post


Link to post
Share on other sites
tylko jest problem bo ja mam windowsa... a to co mi podałeś jest na linux'a o ile się nie myle

 

Hmm, dev/null w windows? B)

 

Jest też oczywiście dig dla windows, wystarczy tylko poguglać trochę - np. http://serghei.net/windows/dig/ - tu są potrzebne pliki i instrukcja, jak odpalić toto w windows.

 

Ale tak czy inaczej z tego Twojego skryptu w windows raczej nie skorzystasz.

Edited by danlis

Share this post


Link to post
Share on other sites
tylko jest problem bo ja mam windowsa... a to co mi podałeś jest na linux'a o ile się nie myle

 

Wystarczy zainstalować cygwin.

Share this post


Link to post
Share on other sites

Cześć,

 

Potrzebuję prosty skrypt w php do sprawdzania domen po hoście. Ten z pierwszego posta mi nie działa nie wiedzieć czemu, a bash z cygwinem to dla mnie czarna magia. ;)

 

Byłbym wdzięczny za pomoc.

 

Pozdrawiam,

Kuba

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Najnowsze posty na forum

    • Jutro godzina 20:00 koniec aukcji.   https://0-0.pl/ 
    • wycenamajatku.pl   WycenaMajatku.pl 500 zł    
    • L-4.PL   Sell: https://www.aftermarket.pl/domena/l-4.pl/
    • zomo.pl   Zapraszam na aukcję domeny od 69 PLN bez ceny minimalnej:   https://ddregistrar.pl/aukcje/10052/   Domena została świeżo przechwycona w serwisie ddregistrar.pl.   Każdy kto złoży ofertę w aukcji w ciągu pierwszych 24 godzin trwania licytacji (do 2024-04-29 15:37:30) otrzyma 25% rabat na cenę końcową, jeśli wygra licytację. Kwota, po rabacie, nie może być niższa od ceny początkowej,  która dla tej domeny wynosi 69 PLN netto. Klienci, którzy zlecili przechwycenie domeny, mają zagwarantowany rabat 50%.   Data zakończenia aukcji: 2024-05-08 godz. 19:15   DD
    • logistyczna.pl   Aukcja od 1 zł bez ceny minimalnej:  https://www.aftermarket.pl/aukcja/2605727/  
    • Zapraszam na aukcję domen od 89 PLN bez ceny minimalnej:   pokolorujto.pl   https://ddregistrar.pl/aukcje/10012/   Domena została świeżo przechwycona w serwisie ddregistrar.pl.   Każdy kto złoży ofertę w aukcji w ciągu pierwszych 24 godzin trwania licytacji (do 2024-04-27 20:53:48) otrzyma 25% rabat na cenę końcową, jeśli wygra licytację. Kwota, po rabacie, nie może być niższa od ceny początkowej,  która dla tej domeny wynosi 89 PLN netto. Klienci, którzy zlecili przechwycenie domeny, mają zagwarantowany rabat 50%.   Data zakończenia aukcji: 2024-05-06 godz. 19:25   ginekolog24.pl   https://ddregistrar.pl/aukcje/10011/   Domena została świeżo przechwycona w serwisie ddregistrar.pl.   Każdy kto złoży ofertę w aukcji w ciągu pierwszych 24 godzin trwania licytacji (do 2024-04-27 20:50:34) otrzyma 25% rabat na cenę końcową, jeśli wygra licytację. Kwota, po rabacie, nie może być niższa od ceny początkowej,  która dla tej domeny wynosi 69 PLN netto. Klienci, którzy zlecili przechwycenie domeny, mają zagwarantowany rabat 50%.   Data zakończenia aukcji: 2024-05-06 godz. 19:25   DD
    • receptomaty24.pl   aukcja BCM
  • Oferty sprzedaży użytkowników

  • Member Statistics

    • Total Members
      19,181
    • Most Online
      898

    Newest Member
    BrodatyDev
    Joined
×