https://github.com/dolejska-daniel/fit_vutbr-ipk2018-project2
https://github.com/dolejska-daniel/fit_vutbr-ipk2018-project2
c dhcp-starvation-attack fit-vutbr-cz ipk
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dolejska-daniel/fit_vutbr-ipk2018-project2
- Owner: dolejska-daniel
- Created: 2018-04-11T19:53:35.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-04-11T19:53:55.000Z (about 7 years ago)
- Last Synced: 2025-01-09T17:07:26.684Z (5 months ago)
- Topics: c, dhcp-starvation-attack, fit-vutbr-cz, ipk
- Language: C
- Size: 228 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Omezení projektu
_Žádné známé chyby či omezení aplikace._
# Práce s programem
## SpuštěníPoužití socketů typu `SOCK_RAW` v implementaci vyžaduje při spuštění oprávnění **superusera**.
```bash
sudo ./ipk-dhcpstarve -i
```Program má jeden povinný přepínač obsahující název síťového interfacu počítače, ze kterého bude odesílat kompromitační data do sítě.
## Výstup
Po přijetí `DHCPACK` od DHCP serveru je IP adresa, které se program zmocnil vypsána na `stdout`. Každá získaná adresa je vypsána na nový řádek.
Program se sám ukončí při vyčerpání pokusů o opětovné odeslání `DHCPREQUEST` a neobdržení žádného `DHCPOFFER` packetu během specifikovaného časového intervalu (více informací v sekci [definované konstanty](#definovane-konstanty)).
## Překlad
Příkazem `make` či `make all` dojde ke kompletnímu přeložení projektu bez ladících výpisů.
Je možné použít i příkaz `make debug`, v takovém případě jsou v programu povoleny všechny typy ladících výpisů. Všechny ladící výpisy jsou zapisovány na `stderr`.
## Definované konstanty
Všechny níže uvedené konstanty je možné při překladu předefinovat a změnit tak jejich výchozí hodnoty.
| Název konstanty | Výchozí hodnota | Popis konstanty |
|----------------------|-----------------|-----------------|
| `BUFFER_SIZE` | `1500` | Maximální velikost bufferů pro odesílání a příjem.
| `SOCKET_TIMEOUT` | `4` | _Ve vteřinách._ Určuje maximální dobu čekání při `sendto` a `recvfrom`.
| `SOCKET_RETRY_COUNT` | `4` | Určuje maximální počet pokusů o opětovné odeslání předcházejících packetů. (při neobdržení `DHCPOFFER` se jedná o `DHCPDISCOVER`, při neobdržení `DHCPACK` o `DHCPREQUEST`)
| `OPERATION_TIMEOUT` | `(SOCKET_TIMEOUT * SOCKET_RETRY_COUNT) * 1000` | _V milisekundách._ Určuje maximální dobu provádění operace. (př.: čekání na `DHCPOFFER` a opětovného odesílání `DHCPDISCOVER`) Rozhoduje o "úspěšném ukončení" programu.