14.5/20b (assessment report)
Program zasílá DNS dotazy na DNS server od kterého očekává odpověd. V DNS dotazu program umožnuje požadovat reverzní dotaz typu PTR
pomocí parametru -x
, IPv6 dotaz typu AAAA
pomocí parametru -6
nebo bez uvedení zmíněných parametrů defaultní typ A
. Dále lze nastavit jiný port než defaultní 53
pomocí parametru -p
a lze požadovat rekurzivní typ dotazu.
./dns -h
DNS resolver
Usage:
./dns [-h] [-r] [-t timeout] [-x] [-6] -s server [-p port] [-d] hostname/IPv4/IPv6
Any order of options is acceptable but all of them have to be before non-option inputs. Options:
-h: Show help message
-r: Recursion is required (Recursion Desired = 1), otherwise no recursion
-t: Timeout on receiving packets, default 5 seconds
-x: Reverse request is required instead of directly request
-6: Use AAAA instead of default A
-s: IP address or domain name of server where is request sent
-p port: Port number where is request sent, default 53
-d: Enable debug mode
hostname/IPv4/IPv6: Requested hostname (when is active -x valid IPv4/IPv6 address)
./dns -x -r -s kazi.fit.vutbr.cz 147.229.9.23
Authoritative: No, Recursive: Yes, Truncated: No
Question section (1):
23.9.229.147.in-addr.arpa., PTR, IN
Answer section (1):
23.9.229.147.in-addr.arpa., PTR, IN, 14400, www.fit.vutbr.cz.
Authority section (0):
Additional section (0):
./dns -x -r -s kazi.fit.vutbr.cz 2001:67c:1220:809::93e5:917
Authoritative: No, Recursive: Yes, Truncated: No
Question section (1):
7.1.9.0.5.e.3.9.0.0.0.0.0.0.0.0.9.0.8.0.0.2.2.1.c.7.6.0.1.0.0.2.ip6.arpa., PTR, IN
Answer section (1):
7.1.9.0.5.e.3.9.0.0.0.0.0.0.0.0.9.0.8.0.0.2.2.1.c.7.6.0.1.0.0.2.ip6.arpa., PTR, IN, 14400, www.fit.vutbr.cz.
Authority section (0):
Additional section (0):
./dns -x -r -s 2001:4860:4860::8844 147.229.9.23
Authoritative: No, Recursive: Yes, Truncated: No
Question section (1):
23.9.229.147.in-addr.arpa., PTR, IN
Answer section (1):
23.9.229.147.in-addr.arpa., PTR, IN, 14399, www.fit.vutbr.cz.
Authority section (0):
Additional section (0):
Přidaný volitelný debugovací parametr [-d]
.
Vytvořená man stránka programu dns.1
.
Vytvořený dns.spec
soubor pro RPM balíček.
Vytvořený příkaz make install
.
Vytvořený jednoduchý server pro příkaz make test
pro zachytávání packetů a pro porovnávání obsahu s referenčním výstupem.
make test
bash ./tests/tests.sh /dns
*******TEST 1 PASSED
*******TEST 1.1 PASSED
*******TEST 1.2 PASSED
*******TEST 2 PASSED
*******TEST 3 PASSED
*******TEST 4 PASSED
*******TEST 5 PASSED
xdrahn00
├── dns.1
├── dns.spec
├── LICENSE
├── Makefile
├── manual.pdf
├── README
├── src
│ ├── dns.c
│ ├── dns.h
│ ├── error.h
│ ├── params.c
│ ├── params.h
│ ├── query.c
│ └── query.h
└── tests
├── logs
├── ref
│ ├── 1
│ ├── 2
│ ├── 3
│ ├── 4
│ └── 5
├── server
│ ├── Makefile
│ ├── Readme.md
│ └── src
│ ├── params.c
│ ├── params.h
│ ├── server.c
│ └── server.h
└── tests.sh
6 directories, 25 files