当前位置: 首页 > news >正文

手机网站建设效果东莞企业网站费用

手机网站建设效果,东莞企业网站费用,手机网站制作公司价钱,朝阳住房和城乡建设厅网站ProFuzzBench是网络协议状态模糊测试的基准测试。它包括一套用于流行协议#xff08;例如 TLS、SSH、SMTP、FTP、SIP#xff09;的代表性开源网络服务器#xff0c;以及用于自动执行实验的工具。详细参考#xff1a;阅读笔记——《ProFuzzBench: A Benchmark for Stateful …ProFuzzBench是网络协议状态模糊测试的基准测试。它包括一套用于流行协议例如 TLS、SSH、SMTP、FTP、SIP的代表性开源网络服务器以及用于自动执行实验的工具。详细参考阅读笔记——《ProFuzzBench: A Benchmark for Stateful Protocol Fuzzing》-CSDN博客环境Ubuntu22.04WSL 1、设置环境变量 克隆项目设置环境变量。 git clone https://github.com/profuzzbench/profuzzbench.git cd profuzzbench nano ~/.bashrc 添加下面内容。  # profuzzbench export PFBENCH/home/zzs/GitProject/profuzzbench export PATH$PATH:$PFBENCH/scripts/execution:$PFBENCH/scripts/analysis 重新加载配置文件以使更改生效。 source ~/.bashrc 2、构建docker镜像 安装docker参考Docker——简介、安装Ubuntu22.04-CSDN博客构建docker镜像。 cd $PFBENCH cd subjects/FTP/LightFTP sudo docker build . -t lightftp # docker build .在当前目录LightFTP下寻找 Dockerfile 并构建 Docker 镜像 # -t lightftp将创建的 Docker 镜像标记为 lightftp 【注】这里创建了一个名为 lightFTP 的 Docker 镜像该镜像包含了 LightFTP 及其所需的所有依赖项使其可以在隔离的 Docker 容器中运行。这对于模糊测试和代码覆盖率收集特别有用因为它提供了一个一致的、可重复的测试环境。构建时间较长耐心等待。【注】可能遇到网络不好多尝试。查看构建的镜像。 docker images 3、运行模糊测试 运行‘profuzzbench_exec_common.sh’脚本以启动实验。该脚本接受以下 8 个参数 第一个参数 (DOCIMAGE)Docker镜像的名称。第二个参数 (RUNS)运行次数每次运行都会启动一个独立的Docker容器。第三个参数 (SAVETO)存储结果的文件夹路径。第四个参数 (FUZZER)模糊测试工具的名称例如aflnet——该名称必须与Docker容器内模糊测试工具文件夹的名称匹配例如/home/ubuntu/aflnet。 第五个参数 (OUTDIR)在Docker容器内创建的输出文件夹的名称。第六个参数 (OPTIONS)除目标特定的run.sh脚本中写入的标准选项外所有模糊测试所需的选项。第七个参数 (TIMEOUT)模糊测试的时间以秒为单位。第八个参数 (SKIPCOUNT)用于计算随时间变化的覆盖率。例如SKIPCOUNT5表示我们在每5个测试用例后运行一次gcovr因为gcovr需要时间我们不希望在每个测试用例后都运行它。以下命令运行一个AFLNet实例对LightFTP进行60分钟模糊测试。 cd $PFBENCH mkdir results-lightftp profuzzbench_exec_common.sh lightftp 1 results-lightftp aflnet out-lightftp-aflnet -P FTP -D 10000 -q 3 -s 3 -E -K -R 3600 5 4、收集结果 所有结果在 tar 文件中都应存储在上个步骤results-lightftp创建的文件夹中。 具体来说这些tar文件是所有模糊测试实例生成的输出文件夹的压缩版本。如果模糊测试器是基于AFL的例如AFLNetAFLnwe每个文件夹应包含诸如 crashes、hangs、queue 等子文件夹。使用profuzzbench_generate_csv.sh脚本可以收集代码覆盖率随时间变化的结果。该脚本需要以下5个参数 第一个参数 (PROG)目标程序的名称例如lightftp。第二个参数 (RUNS)运行次数。第三个参数 (FUZZER)模糊测试器的名称例如aflnet。第四个参数 (COVFILE)用于保存结果的 CSV 格式的输出文件。第五个参数 (APPEND)追加模式对第一个模糊测试器设置为0对后续的模糊测试器设置为1。以下命令收集AFLNet生成的代码覆盖率结果并将其保存到results.csv。 cd $PFBENCH/results-lightftp profuzzbench_generate_csv.sh lightftp 1 aflnet results.csv 0 results.csv文件如下。该文件有六列分别显示 时间time目标程序subject模糊测试器名称fuzzer运行索引run覆盖类型cov_type覆盖率cov文件包含了随时间变化的行覆盖率l_per、l_abs和分支覆盖率b_per、b_abs信息。每种覆盖类型都有两个值一个是百分比形式_per另一个是绝对数值_abs。 【注】这里时间为空暂不知道什么原因。 5、分析结果 results.csv中收集的结果可用于绘图。例如使用示例python脚本绘制代码随时间变化的覆盖率。使用以下命令打印结果并将其保存到文件中。 cd $PFBENCH/results-lightftpprofuzzbench_plot.py -i results.csv -p lightftp -r 4 -c 60 -s 1 -o cov_over_time.png 报错IndexError: index 0 is out of bounds for axis 0 with size 0。 原因是因为文件中time为空并且只有一个模糊测试器。改使用aflnwe。删除原先的results-lightftp。 cd $PFBENCHrm -rf resluts-lightftpmkdir results-lightftp profuzzbench_exec_common.sh lightftp 1 results-lightftp aflnwe out-lightftp-aflnwe -D 10000 -K 3600 5cd $PFBENCH/results-lightftp profuzzbench_generate_csv.sh lightftp 1 aflnwe results.csv 0 cat results.csv 修改profuzzbench_plot.py。 #!/usr/bin/env pythonimport argparse from pandas import read_csv from pandas import DataFrame from pandas import Grouper from matplotlib import pyplot as plt import pandas as pddef main(csv_file, put, runs, cut_off, step, out_file):# Read the resultsdf read_csv(csv_file)# Calculate the mean of code coveragemean_list []for subject in [put]:fuzzer aflnwe # Only use aflnwefor cov_type in [b_abs, b_per, l_abs, l_per]:# Get subject fuzzer cov_type-specific dataframedf1 df[(df[subject] subject) (df[fuzzer] fuzzer) (df[cov_type] cov_type)]mean_list.append((subject, fuzzer, cov_type, 0, 0.0))for time in range(1, cut_off 1, step):cov_total 0run_count 0for run in range(1, runs 1, 1):# Get run-specific data framedf2 df1[df1[run] run]if df2.empty:continue# Get the starting time for this runstart df2.iloc[0, 0]# Get all rows given a cutoff timedf3 df2[df2[time] start time * 60]if df3.empty:continue# Update total coverage and #runscov_total df3.tail(1).iloc[0, 5]run_count 1# Add a new rowif run_count 0:mean_list.append((subject, fuzzer, cov_type, time, cov_total / run_count))# Convert the list to a dataframemean_df pd.DataFrame(mean_list, columns[subject, fuzzer, cov_type, time, cov])fig, axes plt.subplots(2, 2, figsize(20, 10))fig.suptitle(Code coverage analysis)for key, grp in mean_df.groupby([fuzzer, cov_type]):if key[1] b_abs:axes[0, 0].plot(grp[time], grp[cov])axes[0, 0].set_xlabel(Time (in min))axes[0, 0].set_ylabel(#edges)if key[1] b_per:axes[1, 0].plot(grp[time], grp[cov])axes[1, 0].set_ylim([0, 100])axes[1, 0].set_xlabel(Time (in min))axes[1, 0].set_ylabel(Edge coverage (%))if key[1] l_abs:axes[0, 1].plot(grp[time], grp[cov])axes[0, 1].set_xlabel(Time (in min))axes[0, 1].set_ylabel(#lines)if key[1] l_per:axes[1, 1].plot(grp[time], grp[cov])axes[1, 1].set_ylim([0, 100])axes[1, 1].set_xlabel(Time (in min))axes[1, 1].set_ylabel(Line coverage (%))for i, ax in enumerate(fig.axes):ax.legend((AFLNwe,), locupper left) # Only AFLNweax.grid()# Save to fileplt.savefig(out_file)# Parse the input arguments if __name__ __main__:parser argparse.ArgumentParser()parser.add_argument(-i, --csv_file, typestr, requiredTrue, helpFull path to results.csv)parser.add_argument(-p, --put, typestr, requiredTrue, helpName of the subject program)parser.add_argument(-r, --runs, typeint, requiredTrue, helpNumber of runs in the experiment)parser.add_argument(-c, --cut_off, typeint, requiredTrue, helpCut-off time in minutes)parser.add_argument(-s, --step, typeint, requiredTrue, helpTime step in minutes)parser.add_argument(-o, --out_file, typestr, requiredTrue, helpOutput file)args parser.parse_args()main(args.csv_file, args.put, args.runs, args.cut_off, args.step, args.out_file) 重新执行 cd $PFBENCH/results-lightftpprofuzzbench_plot.py -i results.csv -p lightftp -r 4 -c 60 -s 1 -o cov_over_time.png
http://www.pierceye.com/news/110419/

相关文章:

  • 想做网站的客户在哪找美间在线设计平台
  • 网站设计规划的目的和要求营销外贸网站建设案例
  • 网站营销力一级a做爰片2017免费网站
  • 昌图网站网页界面设计的要求
  • 做一个网站赚钱什么 门户网站
  • 中国建设银行购物网站帝国织梦wordpress
  • 瑞安网站网站建设松原公司做网站的流程
  • 做网站按页面收费视频解析网站如何做搜索
  • 太原网站的公司赣州安全教育平台
  • 淮北建投网站网站推广与维护有什么不同
  • 深圳网站备案注销平果县免费网站哪家好
  • 如何区分网站开发语言做网站多少钱一般
  • 定制专业app开发seo数据统计分析工具有哪些
  • 某服装公司网站建设论文网站建设seo虾哥网络
  • 网站建设销售员工作内容网站访问量过大
  • 企业网站加快企业信息化建设设计网站名称
  • 做网站的技术要求高吗农业推广专业
  • 在百度做个卷闸门网站怎么做成都高端网站
  • 个人网站备案名称填写货运网站建设公司
  • 有网页源码 怎么做网站外链发布软件
  • 医疗网站建设基本流程wordpress速度加快
  • 网站建设优化开发公司哪家好泰州东方医院男科
  • 怎么自己做歌曲网站大连网站制作公司费用多少
  • 网站专题设计稿用vue做商城网站常用的js
  • 怎么在免费空间里面做网站深圳英文站seo
  • 学风建设网站版块如何用visual studio做网站
  • 山东响应式网站设置字体颜色的网站
  • 美容院网站建设西安有关做网站的公司有哪些
  • 湛江做网站设计公司网络推广网站培训班
  • 大型网站建立萝岗微信网站建设