diff options
| author | Andrey Konovalov <andreyknvl@gmail.com> | 2017-10-30 13:06:16 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-10-30 13:06:16 +0100 |
| commit | a35d18d5c510dd0043304e8ce3bae42c20a15964 (patch) | |
| tree | 07a70da1480f7349f97247a8bd1b0294265ba26d /docs/linux | |
| parent | a9b8c06deee63ab39aa7c634f10e56c94cd2af16 (diff) | |
Update external_fuzzing_network.md
Diffstat (limited to 'docs/linux')
| -rw-r--r-- | docs/linux/external_fuzzing_network.md | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/docs/linux/external_fuzzing_network.md b/docs/linux/external_fuzzing_network.md index 72c576b13..a05bb5ea3 100644 --- a/docs/linux/external_fuzzing_network.md +++ b/docs/linux/external_fuzzing_network.md @@ -15,13 +15,13 @@ The first one externally sends a packet through the virtual interface. The second one tries to externally receive a packet back and parse TCP sequence numbers from it for use in subseqent packets. There are many protocols or protocol extensions that are not described yet, so the additions are welcome! -Since fuzzing may be done in mutiple executor proccesses within the same VM instance, we need a way to isolate the virtual network for different executors. +Since fuzzing may be done in mutiple executor proccesses within the same VM instance, we need a way to isolate the virtual networks for different executors. Right now this is done by creating one virtual interface per executor and assigning different MAC, IPv4 and IPv6 addresses to each of these interfaces. Then the template descriptions make use of the `proc` type to generate proper addresses for each executor. Since many network protocols require checksum fields to be embedded into packets, there's a support for describing such fields. There's a `csum` type, which right now supports two different kinds of checksumming: -[the Internet checksum](https://tools.ietf.org/html/rfc1071): `csum csum[parent, inet, int16be]`, -and TCP-like pseudo header checksum: `csum csum[tcp_packet, pseudo, IPPROTO_TCP, int16be]`. +[the Internet checksum](https://tools.ietf.org/html/rfc1071): `csum[parent, inet, int16be]`, +and TCP-like pseudo header checksum: `csum[tcp_packet, pseudo, IPPROTO_TCP, int16be]`. The checksums are computed and embedded right before emitting a packet though the virtual interface. There's also a nice feature: when syzkaller generates a C reproducer, it generates code to compute checksums in runtime as well. |
