普通文本  |  30行  |  1.57 KB

# How to set up syzkaller

Generic setup instructions for fuzzing Linux kernel are outlined [here](linux/setup.md).
For other OS kernels check: [Akaros](/docs/akaros/README.md), [FreeBSD](/docs/freebsd.md), [Fuchsia](/docs/fuchsia.md), [NetBSD](/docs/netbsd.md), [Windows](/docs/windows.md).

After following these instructions you should be able to run `syz-manager`, see it executing programs and be able to access statistics exposed at `http://127.0.0.1:56741`:

```
$ ./bin/syz-manager -config=my.cfg
2017/06/14 16:39:05 loading corpus...
2017/06/14 16:39:05 loaded 0 programs (0 total, 0 deleted)
2017/06/14 16:39:05 serving http on http://127.0.0.1:56741
2017/06/14 16:39:05 serving rpc on tcp://127.0.0.1:34918
2017/06/14 16:39:05 booting test machines...
2017/06/14 16:39:05 wait for the connection from test machine...
2017/06/14 16:39:59 received first connection from test machine vm-9
2017/06/14 16:40:05 executed 293, cover 43260, crashes 0, repro 0
2017/06/14 16:40:15 executed 5992, cover 88463, crashes 0, repro 0
2017/06/14 16:40:25 executed 10959, cover 116991, crashes 0, repro 0
2017/06/14 16:40:35 executed 15504, cover 132403, crashes 0, repro 0
```

At this point it's important to ensure that syzkaller is able to collect code coverage of the executed programs
(unless you specified `"cover": false` in the config or coverage is not yet supported for the kernel you're fuzzing).
The `cover` counter on the web page should be non zero.

More information on the configuration file format is available [here](configuration.md).

See [this page](troubleshooting.md) for troubleshooting tips.