tmi 728 Report post Posted August 6, 2007 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
pb 2,626 Report post Posted August 6, 2007 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
mrx1 0 Report post Posted August 6, 2007 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
pb 2,626 Report post Posted August 6, 2007 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
mrx1 0 Report post Posted August 6, 2007 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
tmi 728 Report post Posted August 6, 2007 Ja myślę że każde imię jest już przez kogoś zajęte Share this post Link to post Share on other sites
pb 2,626 Report post Posted August 6, 2007 Ja myślę że każde imię jest już przez kogoś zajęte Share this post Link to post Share on other sites
soprano 0 Report post Posted August 6, 2007 Przeciez alfons.biz byla wolna A moze jeszcze jest Alfonsowi nie udalo sie jeszcze zajac swojej domeny 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 Share this post Link to post Share on other sites
ryskadow 143 Report post Posted August 6, 2007 Przeciez alfons.biz byla wolna A moze jeszcze jest Alfonsowi nie udalo sie jeszcze zajac swojej domeny 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 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
yaci 0 Report post Posted August 6, 2007 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
ryskadow 143 Report post Posted August 7, 2007 <?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
yaci 0 Report post Posted August 7, 2007 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
ryskadow 143 Report post Posted August 7, 2007 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
pb 2,626 Report post Posted March 11, 2008 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
djpiatek 1 Report post Posted May 14, 2008 (edited) 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 May 14, 2008 by djpiatek Share this post Link to post Share on other sites
danlis 0 Report post Posted May 14, 2008 wywala mi błąd pisze " line 1: dig: command not fount" może mi ktoś pomóc ? Rozwiązanie masz podane, chociaż nie wprost: nie masz zainstalowanego narzędzia DIG - zerknij np.na http://www.linuxfromscratch.org/blfs/view/...bind-utils.html Share this post Link to post Share on other sites
djpiatek 1 Report post Posted May 14, 2008 tylko jest problem bo ja mam windowsa... a to co mi podałeś jest na linux'a o ile się nie myle Share this post Link to post Share on other sites
Kornel 0 Report post Posted May 14, 2008 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 Share this post Link to post Share on other sites
djpiatek 1 Report post Posted May 14, 2008 (edited) a rozumiem mam odpalić z live cd linuxa ;-) Edited May 14, 2008 by djpiatek Share this post Link to post Share on other sites
danlis 0 Report post Posted May 14, 2008 (edited) 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? 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 May 14, 2008 by danlis Share this post Link to post Share on other sites
pb 2,626 Report post Posted July 14, 2009 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
mastercobra 1 Report post Posted July 16, 2009 a panowie ma ktos kombinacje w php ? Share this post Link to post Share on other sites
Guest Michal Report post Posted July 16, 2009 a panowie ma ktos kombinacje w php ? http://pl.php.net/manual/en/function.exec.php http://linux.die.net/man/1/dig Share this post Link to post Share on other sites
qba.guzik 17 Report post Posted March 12, 2010 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
Grzesiek86 2 Report post Posted March 12, 2010 Napisz jaki masz błąd. U mnie skrypt działa bez problemu. Share this post Link to post Share on other sites