2014-02-06 2 views
0

스크립트에 문제가 있습니다. 제 작품에서는 도메인, MX 레코드 및 이와 유사한 데이터의 PTR을 자주 확인해야합니다. 나는 스크립트의 가장했지만 내가
같은이 하위 도메인도메인을 하위 도메인과 구별하는 방법

e-learning.go4progress.pl 

이있다 도메인하지만 두 번째 수준 인 할 때 문제가 나타납니다?

simple.com.pl 

지금 내 스크립트에 뭔가 같은이 : 내가 www를 넣어하지 않는 경우, 그것은 추가하고

dig www.e-learning.go4progress.pl 
dig e-learning.go4progress.pl 
dig go4progress.pl 

그 점을 계산하고 1을 빼는하지만 도메인이

과 같은 경우에 문제가 않습니다
simple.com.pl 

스크립트가

com.pl 
너무 파고하기 때문에

com.pl, co.uk, gov.pl이 포함 된 많은 도메인을 확인하지 않습니다. 나는 배열을 만들고이 배열을 스크립트에 넣은 것을 비교했습니다. 배열의 문자열 구성 요소에서 2 대신 1을 뺍니다.) 왜 내가 그 부분을 더 잘 이해할 수 있는지 스크립트의 일부를 붙여 넣습니다. 1

url="`echo $1 | sed 's~http[s]*://~~g' | sed 's./$..' | awk '!/^www/ {$0="www." $0}1'`" 
ii=1 
dots="`echo $url | grep -o "\." | wc -l`" 
while [ $ii -le $dots] ; do 
     cut="`echo $url | cut -d "." -f$ii-9`" 
     ip="`dig +short $cut`" 
     host="`dig -x $ip +short`" 
     if [[ -z "$host" ]]; then 
       host="No PTR" 
     fi 
     echo "strona: $cut Host: $host" 
     ii=$[ii + 1] 

어쩌면 내 문제를 해결하는 데 다른 방법이있을 수 있습니다.

두 번째 질문은 도메인과 하위 도메인을 구별하는 방법입니다.
하위 도메인의 mx 레코드 (URL에 하위 도메인이있는 경우)와 mx 레코드 최상위 도메인을 비교해야합니다.
나는 당신의 응답을 기다리는)

+0

몇 일을, 나는 비슷한 요청과 함께 사람을 대답 , 그것을 먼저 검토 http://stackoverflow.com/questions/21440409/extract-parent-domain-name-from-a-list-of-url-through-bash-shellscripting – BMW

+0

안녕, 단서 주셔서 감사합니다;) – Bolo92

답변

0

내 솔루션 등록 기관에 등록 된 도메인 찾기 : 전에 https://github.com/gavingmiller/second-level-domains

wget https://raw.githubusercontent.com/gavingmiller/second-level-domains/master/SLDs.csv 

DOMAIN="www.e-learning.go4progress.co.uk"; 
KEEPPARTS=2; 
TWOLEVELS=$(/bin/echo "${DOMAIN}" | /usr/bin/rev | /usr/bin/cut -d "." --output-delimiter=".\\" -f 1-2 | /usr/bin/rev); 
if /bin/grep -P ",\.${TWOLEVELS}" SLDs.csv >/dev/null; then 
    KEEPPARTS=3; 
fi 
DOMAIN=$(/bin/echo "${DOMAIN}" | /usr/bin/rev | /usr/bin/cut -d "." -f "1-${KEEPPARTS}" | /usr/bin/rev); 
echo "${DOMAIN}" 

감사 https://github.com/medialize/URI.js/issues/17#issuecomment-3976617

관련 문제