AFLNET命令解释

AFL部分

示例代码
afl-fuzz -i afl-test/in -o afl-test/out1 -M fuzzer11 ./afl-demo1 -f
-f :testcase的内容会作为afl_test的stdin
-m:参数表示分配的内存空间
-i:指定测试样本的路径
-o:指定输出结果的路径
/dev/null 使错误信息不输出到屏幕
-t:设置程序运行超时值,单位为ms
-M:运行主(Master)Fuzzer
-S:运行从属(Slave)Fuzzer

命令
afl-gcc 和afl-g++ 分别对应的是gcc 和g++ 的封装
afl-clang 和afl-clang++ 分别对应clang 的c 和c++ 编译器封装À。
afl-fuzz 是AFL 的主体,用于对目标程序进行fuzz。
afl-analyze 可以对用例进行分析,通过分析给定的用例,看能否发现用例中有意义的字段。
afl-qemu-trace 用于qemu-mode,默认不安装,需要手工执行qemu-mode 的编译脚本进行编译,后面会介绍。
afl-plot 生成测试任务的状态图
afl-tmin 和afl-cmin 对用例进行简化
afl-whatsup 用于查看fuzz 任务的状态
afl-gotcpu 用于查看当前CPU 状态
afl-showmap 用于对单个用例进行执行路径跟踪

AFLNET部分

在论文中所用到的命令

afl-fuzz -d -i $AFLNET/tutorials/live555/in-rtsp -o out-live555 -N tcp://127.0.0.1/8554 -x $AFLNET/tutorials/live555/rtsp.dict -P RTSP -D 10000 -q 3 -s 3 -E -K -R ./testOnDemandRTSPServer 8554

-N netinfo:待测服务器信息(如 tcp://127.0.0.1/8554)
-P protocol:指定待测协议(如 RTSP, FTP, DTLS12, DNS, DICOM, SMTP, SSH, TLS, DAAP-HTTP,SIP, MODBUS)
-D usec:(可选)等待服务器初始化时间(毫秒级)
-K:(可选)在服务器处理完所有请求后,发送SIGTERM信号结束服务器进程
-E:(可选)开启状态感知机模式(启动状态机)
-R:(可选)开启region级别的变异操作
-c script:(可选)服务器清理脚本名称或完整路径
-q algo:(可选)指定状态选择算法 (如 1. RANDOM_SELECTION, 2. ROUND_ROBIN, 3. FAVOR)
-s alog:(可选)种子选择算法(如 1. RANDOM_SELECTION, 2. ROUND_ROBIN, 3. FAVOR)
其余选项与AFL相似


示例命令

afl-fuzz -d -i in -o out -N <server info> -x <dictionary file> -P <protocol> -D 10000 -q 3 -s 3 -E -K -R <executable binary and its arguments (e.g., port number)>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值