# dnspy **Repository Path**: DioSpace/dnspy ## Basic Information - **Project Name**: dnspy - **Description**: Python library for DNS FQDN analysis - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Dnspy ### A library for domain name manipulation What ---- _Dnspy_ offers functionality to manipulate fully qualified domain names (FQDNs), such as extracting _subdomains_ and _domain labels_ from a FQDN. Installation ------------ 1. To install _Dnspy_, first download the compressed tar ball _dnspy-3.1.tar.gz_ 2. Untar the downloaded file: ``` $ tar xvzf dnspy-3.1.tar.gz ``` 3. Install the library ``` $ cd dnspy-3.1 $ python setup.py install ``` Usage ----- The following examples illustrate the use of this module: ```python # Using the Dnspy module to get sub-domains of a domain, given the default effective # top-level domain (ETLD) list >>> from dnspy.dnspy import Dnspy >>> d = Dnspy() # Load the default ETLD list from Mozilla >>> d.subdoms('a.b.c.d.google.com') ['com', 'google.com', 'd.google.com'] >>> d.subdoms('a.b.c.d.google.com', n = 4) ['com', 'google.com', 'd.google.com', 'c.d.google.com'] >>> d.subdoms('a.b.c.d.google.com', n = -1) ['com', 'google.com', 'd.google.com', 'c.d.google.com', 'b.c.d.google.com', 'a.b.c.d.google.com'] >>> d.domlabels('a.b.c.d.google.com') ['com', 'google', 'd'] >>> d.domlabels('a.b.c.d.google.com', n = 4) ['com', 'google', 'd', 'c'] ``` To illustrate the use of a custom ETLD list: ``` $ cat /tmp/custom_etlds.txt co.uk testetld ``` Now use the custom ETLD list: ```python >>> from dnspy.dnspy import Dnspy >>> d = Dnspy() >>> d.subdoms('www.google.testetld') ['testetld', 'google.testetld', 'www.google.testetld'] ``` The `etld_url` parameter passed to the Dnspy constructor, can point to any valid URL, including http URLs. To run unit tests: ``` $ cd test/ $ python -m unittest test_dnspy ... ---------------------------------------------------------------------- Ran 3 tests in 2.813s OK ``` NOTE: Running unit tests requires the library to be installed. Uninstall --------- To uninstall, remove the package directory from the disk. On debian systems, for instance: ``` $ rm -rf /usr/local/lib/python3.7/dist-packages/dnspy ``` License ------- Copyright © 2020 Sandeep Yadav Distributed under the Apache license