KLEE的Docker镜像使用

KLEE是使用符号执行技术生成测试样本的知名利器,有着崇高的江湖地位。在KLEE网站上发布了采用Docker打包的镜像。对于两者,我都很陌生,以下记录了在使用过程中,涉及的一些命令和概念。

1、Docker

Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。docker有三种命令运行的方式:短暂方式、交互方式、daemon方式。

  • 安装

    目前只支持64位linux系统,以下命令的环境为Ubuntu,Linux 3.13.0-74-generic。Linux系统版本查询命令:
    $ uname -r
    3.13.0-74-generic

    • 更新系统(低版本Linux)
      $ sudo apt-get update
      $ sudo apt-get install linux-image-extra-$(uname -r)
      $ sudo apt-get install linux-image-generic-lts-trusty
      $ sudo reboot
    • 安装Docker:
      sudo apt-get install docker.io
  • ps命令

    • 列出当前所有正在运行的容器
      sudo docker ps
    • 列出最近一次启动的,且正在运行的容器
      sudo docker ps -l
    • 列出所有的容器
      sudo docker ps -a
  • 镜像操作

    • 下载KlEE镜像(默认从官方仓库上下载,也可其它仓库下载)
      $ docker pull klee/klee
      $ sudo docker pull registry.hub.docker.com/ubuntu:12.04
      $ sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04
    • 运行KLEE镜像
      $ docker run -ti --name=my_first_klee_container --ulimit='stack=-1:-1' klee/klee
    • 重启容器
      $ docker start -ai my_first_klee_container
    • 删除容器
      $ docker rm my_first_klee_container
  • 删除容器

    • 删除所有容器
      $ sudo docker rm sudo docker ps -a -q
    • 删除具体某个容器
      $ sudo docker rm $CONTAINER_ID
  • 命令快速参考

    • 查看本地镜像
      $ sudo docker images #
    • 启动一个已存在的docker实例
      $ sudo docker attach $CONTAINER_ID
    • 停止docker实例
      $ sudo docker stop $CONTAINER_ID
    • 查看docker实例运行日志,确保正常运行
      $ sudo docker logs $CONTAINER_ID
    • 查看container的实例属性,比如ip等等
      $ sudo docker inspect $CONTAINER_ID

2、KLEE

  • KLEE版本
    klee --version
  • 编译源码
    clang -emit-llvm -g -c test.c -o test.bc
  • 运行klee
    klee --libc=uclibc --posix-runtime test.bc
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,636评论 15 147
  • docker基本概念 1. Image Definition 镜像 Image 就是一堆只读层 read-only...
    慢清尘阅读 8,836评论 1 21
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,409评论 0 27
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,544评论 0 120
  • 好对不起自己!从没让那些不看好自己的人后悔?
    常小识阅读 607评论 0 0