<!-- Copyright (c) 2026 defconxt. All rights reserved. -->
<!-- Licensed under AGPL-3.0 — see LICENSE file for details. -->

# Performing Network Protocol Fuzzing — API & Tool Reference

> Quick reference for tools, commands, and APIs used in performing-network-protocol-fuzzing.

## Tools

### `boofuzz`

Python network protocol fuzzing framework

**Usage:**
```python
from boofuzz import Session, Target, SocketConnection
session = Session(target=Target(connection=SocketConnection(host, port)))
```

**Key Features:**
  - `s_string: fuzzable string field`
  - `s_static: fixed protocol data`
  - `Session.fuzz(): start campaign`
  - `Web UI on port 26000`

---

### `scapy`

Packet crafting and protocol fuzzing

**Usage:**
```python
from scapy.all import IP, UDP, DNS, fuzz, send
send(IP(dst=target) / fuzz(UDP() / DNS()))
```

**Key Functions:**
  - `fuzz(): auto-fuzz packet fields`
  - `RandShort, RandString: random generators`
  - `send(): transmit packets`

---

### `nmap`

Vulnerability scanning and service monitoring

**Usage:**
```bash
nmap --script vuln -p 21 target
```

**Key Flags:**
  - `--script vuln: vulnerability scripts`
  - `-sV: service version detection`
  - `--open: show only open ports`

---

### `tcpdump`

Traffic capture during fuzzing

**Usage:**
```bash
tcpdump -i eth0 -w fuzzing.pcap host target
```

**Key Flags:**
  - `-i: interface`
  - `-w: write to file`
  - `host: filter by host`

---

## Integration Notes

- All tools should be run with least-privilege access appropriate to the task
- Log all tool invocations for audit trail
- Validate tool output before acting on results
- Cross-reference findings with multiple tools where possible

## See Also

- Parent skill: [Network Security](../../../SKILL.md)
- Technique SKILL.md: [../SKILL.md](../SKILL.md)
