
도메인 보강 툴킷 $ pip install richkit
Richkit는 도메인 이름을 입력으로 받아 해당 도메인에 대한 추가 정보를 반환하는 도구를 제공하는 python3 패키지입니다. 이 정보는 도메인 자체에 대한 분석, 데이터베이스 조회, 다른 서비스에서의 검색 또는 이들의 조합을 통해 얻을 수 있습니다.
Richkit의 목적은 Aalborg University의 네트워크 보안 연구 그룹 내에서 공유되고, 일반 대중이 재사용 및 수정할 수 있도록 제공되는 도메인 이름 관련 분석, 조회 및 검색 함수들의 재사용 가능한 라이브러리를 제공하는 것입니다.
문서는 https://richkit.readthedocs.io/en/latest/ 에서 확인할 수 있습니다.
Python >= 3.5richkit을 설치하려면 터미널에 pip install richkit을 입력하면 됩니다.
다음 코드를 사용하여 각각 TLD와 URL 카테고리를 검색할 수 있습니다.
주어진 URL의 유효 최상위 도메인 검색:
>>> from richkit.analyse import tld
>>> urls = ["www.aau.dk","www.github.com","www.google.com"]
>>>
>>> for url in urls:
... print(tld(url))
dk
com
com
주어진 URL의 카테고리 검색:
>>> from richkit.retrieve.symantec import fetch_from_internet
>>> from richkit.retrieve.symantec import LocalCategoryDB
>>>
>>> urls = ["www.aau.dk","www.github.com","www.google.com"]
>>>
>>> local_db = LocalCategoryDB()
>>> for url in urls:
... url_category=local_db.get_category(url)
... if url_category=='':
... url_category=fetch_from_internet(url)
... print(url_category)
Education
Technology/Internet
Search Engines/Portals
Richkit은 다음 모듈로 분류된 함수 집합을 정의합니다:
richkit.analyse: 이 모듈은 도메인 이름에 적용할 수 있는 함수를 제공합니다. richkit.lookup과 유사하며, richkit.retrieve와 달리 도메인 이름을 제3자에게 공개하지 않고 기밀성을 유지합니다.
richkit.lookup: 이 모듈은 로컬 리소스에서 도메인 이름을 조회하는 기능을 제공합니다. 즉, 도메인 이름을 외부로 전송하지 않습니다. 이 모듈은 목록이나 데이터베이스와 같은 리소스를 가져올 수 있지만, 도메인 이름의 기밀성을 유지하는 방식으로 수행되어야 합니다. richkit.retrieve와 대조됩니다.
richkit.retrieve: 이 모듈은 모든 종류의 도메인 이름에 대한 데이터를 검색하는 기능을 제공합니다. richkit.lookup과 같은 "기밀성 계약"이 없습니다.
환경 관련 문제를 방지하기 위해 Dockerfile.test 파일을 제공합니다. 이 파일은 Richkit 테스트를 실행하기 위한 Docker 이미지를 생성합니다.
.github/local-test/run-test.sh 파일의 3번째 줄에 MAXMIND_LICENCE_KEY를 입력하는 것뿐입니다. 이는 lookup 모듈의 테스트 케이스를 통과하는 데 필요합니다.Docker 환경에서 테스트하는 명령어입니다.
docker build -t richkit-test -f Dockerfile.test .: 테스트 케이스를 실행하는 데 필요한 이미지를 빌드합니다.
docker run -e MAXMIND_LICENSE_KEY="<licence-key>" richkit-test: Docker 이미지에서 run-test.sh 파일을 실행합니다.
기여는 언제나 환영합니다.
저희는 gitflow 브랜칭 전략을 사용합니다. 따라서 이 저장소에 브랜치를 푸시할 계획이 있다면 해당 전략을 따라주시기 바랍니다. 브랜치 이름은 .githooks/check-branch-name.py로 테스트합니다. git pre-commit 훅을 사용하여 커밋 시 자동으로 확인할 수 있습니다. Linux에서 바로 사용할 수 있는 예제가 다음과 같이 제공되며, 다음 명령어로 활성화할 수 있습니다 (python>=3.6 및 bash 가정):
ln -s $(pwd)/.githooks/pre-commit.linux.sample $(pwd)/.git/hooks/pre-commit