IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 【NS3】NS3安装 visualizer模块安装 (Windows+VMware+Kali) 2022.2 -> 正文阅读

[系统运维]【NS3】NS3安装 visualizer模块安装 (Windows+VMware+Kali) 2022.2

NS3安装(Windows+VMware+Kali) 2022.2

VMware安装

导入kali

换源

进入root模式

sudo su

配置源

vim /etc/apt/sources.list

注释原本的源,换成国内源地址(下列代码采用阿里云)

ies/
#deb http://http.kali.org/kali kali-rolling main contrib non-free

deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
# Additional line for source packages
# deb-src http://http.kali.org/kali kali-rolling main contrib non-free
~                                                                            
~                   

其他源

官方源
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
中科大源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
阿里云源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
清华大学源
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
浙大源
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
东软大学源
deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
新加坡kali源
deb http://mirror.nus.edu.sg/kali/kali/ kali main non-free contrib
deb-src http://mirror.nus.edu.sg/kali/kali/ kali main non-free contrib
163 Kali源
deb http://mirrors.163.com/debian wheezy main non-free contrib
deb-src http://mirrors.163.com/debian wheezy main non-free contrib

更新索引、软件

apt-get update
apt-get upgrade

环境搭建

官方tutorial给出

ns-3 has various optional extensions, but the main features just require a C++ compiler (g++ or clang++), Python (version 3.6 or above), CMake and a build-system (e.g. make, ninja, Xcode). We focus in this chapter only on getting ns-3 up and running on a system supported by a recent C++ compiler and Python runtime support.

 apt-get install gcc g++ python python3  
 apt-get install gcc g++ python python3 python3-dev  
 apt-get install python3-setuptools git mercurial  
 apt-get install qt5-default mercurial  
 apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3  
 apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev  
 apt-get install autoconf cvs bzr unrar  
 apt-get install gdb valgrind  
 apt-get install uncrustify  
 apt-get install doxygen graphviz imagemagick  
 apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng latexmk  
 apt-get install python3-sphinx dia  
 apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0  
 apt-get install tcpdump  
 apt-get install sqlite sqlite3 libsqlite3-dev  
 apt-get install libxml2 libxml2-dev  
 apt-get install cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake  
 apt-get install python-pip  
pip install cxxfilt  
 apt-get install libgtk2.0-0 libgtk2.0-dev  
 apt-get install vtun lxc  
 apt-get install libboost-signals-dev libboost-filesystem-dev  
 apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 gir1.2-goocanvas-2.0 python-rsvg  

全部安装后显示

Package python-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  python2-dev python2 python-dev-is-python3

E: Package 'python-dev' has no installation candidate
E: Unable to locate package python-pygraphviz
E: Unable to locate package python-kiwi
E: Unable to locate package python-pygoocanvas
E: Unable to locate package python-gnome2
E: Unable to locate package python-rsvg

NS3下载与安装

使用git速度非常快,以git下载为例
git只能下载ns本体,如果想要同时安装NetAnim,则下载官网的软件包。然后用build.py 来build(而不是waf)

$ git clone https://gitlab.com/nsnam/ns-3-dev.git

如果想要使用最新版本,可以选择切换分支(202202最新版本为3.35)

$ git checkout -b ns-3.35-branch ns-3.35

个人切换成了最新版本

在正式bulid NS3前可以使用以下代码检查所需的环境是否齐全

$ ./waf configure --enable-examples --enable-tests

如果没有更新成最新版本,从git下载的内容没有waf文件,取代它的是ns3,以上代码改为

./ns3 configure --enable-examples --enable-tests

下面是一些可选模块的安装情况

---- Summary of optional NS-3 features:
Build profile                 : debug
Build directory               : 
BRITE Integration             : not enabled (BRITE not enabled (see option --with-brite))                                                                 
DES Metrics event collection  : not enabled (defaults to disabled)
DPDK NetDevice                : not enabled (libdpdk not found, $RTE_SDK and/or $RTE_TARGET environment variable not set or incorrect)                    
Emulation FdNetDevice         : enabled
Examples                      : enabled
File descriptor NetDevice     : enabled
GNU Scientific Library (GSL)  : not enabled (GSL not found)
Gcrypt library                : not enabled (libgcrypt not found: you can use libgcrypt-config to find its location.)                                     
GtkConfigStore                : not enabled (library 'gtk+-3 >= 3.22' not found)                                                                          
MPI Support                   : not enabled (option --enable-mpi not selected)                                                                            
NS-3 Click Integration        : not enabled (nsclick not enabled (see option --with-nsclick))                                                             
NS-3 OpenFlow Integration     : not enabled (OpenFlow not enabled (see option --with-openflow))                                                           
Netmap emulation FdNetDevice  : not enabled (needs net/netmap_user.h)
Network Simulation Cradle     : not enabled (NSC not found (see option --with-nsc))                                                                       
PlanetLab FdNetDevice         : not enabled (PlanetLab operating system not detected (see option --force-planetlab))                                      
PyViz visualizer              : not enabled (Python Bindings are needed but not enabled)                                                                  
Python Bindings               : not enabled (PyBindGen missing)
Real Time Simulator           : enabled
SQLite stats support          : not enabled (library 'sqlite3' and/or semaphore.h not found)                                                              
Tap Bridge                    : enabled
Tap FdNetDevice               : enabled
Tests                         : enabled
Threading Primitives          : enabled
Use sudo to set suid bit      : not enabled (option --enable-sudo not selected)                                                                           
XmlIo                         : enabled
'configure' finished successfully (3.546s)

visualizer 相关

因为我非常想安装visualizer 模块,所以我继续安装

PyViz visualizer              : not enabled (Python Bindings are needed but not enabled)                                                                  
Python Bindings               : not enabled 

首先解决pyBindings

pip install pybindgen
PyViz visualizer              : not enabled (Missing python modules: gi.repository.GooCanvas)                                                             
Python API Scanning Support   : not enabled (Missing 'pygccxml' Python module)                                                                            
Python Bindings               : enabled

在源中增加

deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse

并更新索引、软件

安装后,虚拟机可能出现无法与物理机共享剪切板的情况,此时reboot即可

apt-get install gi.cairo
apt-get install gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 

其他人的解决方法

#安装依赖包(

sudo apt install g++ python3 python3-dev pkg-config sqlite3 python3-setuptools git qt5-default mercurial gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 openmpi-bin openmpi-common openmpi-doc libopenmpi-dev autoconf cvs bzr unrar gdb valgrind uncrustify doxygen graphviz imagemagick tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev libgtk-3-dev vtun lxc uml-utilities libboost-filesystem-dev python3-pip cmake libc6-dev libc6-dev-i386 automake -y
#安装Python依赖库
sudo pip3 install PyBindGen pygccxml castxml -i https://pypi.douban.com/simple
#build
./build.py

PyViz环境ok!

PyViz visualizer              : enabled
Python API Scanning Support   : not enabled (Missing 'pygccxml' Python module)                                                                            
Python Bindings               : enabled
Real Time Simulator           : enabled

build NS3

$ ./waf build

常见错误

build中可能存在内存问题(status 4)

法1

sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile

编译完成后可以选择撤销该操作(也可以不做)

sudo swapoff /swapfile
sudo rm /swapfile

法2

直接修改内存为4G(或者更高)

status 1的解决方法

CXXFLAGS="-Wall" ./waf configure --enable-examples --enable-tests

然后build

build结果

在这里插入图片描述

测试与运行NS3

测试NS3

$ ./test.py

所有的测试要么通过,要么被跳过。如果这样,说明NS3模拟器运行正常。

可以开始运行程序,以系统自带的first.cc为例

$ ./waf --run first
└─# ./waf --run first                                                1 ? 1 ?
Waf: Entering directory `/home/kali/Desktop/ns-3-dev/build'
Waf: Leaving directory `/home/kali/Desktop/ns-3-dev/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (1.309s)
At time +2s client sent 1024 bytes to 10.1.1.2 port 9
At time +2.00369s server received 1024 bytes from 10.1.1.1 port 49153
At time +2.00369s server sent 1024 bytes to 10.1.1.1 port 49153
At time +2.00737s client received 1024 bytes from 10.1.1.2 port 9

如果想要获得更多信息,可以输入

$ ./waf --run 'first --PrintHelp'
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 12:11:44  更:2022-02-26 12:15:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:23:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码