Centos安装python3与scapy模块的问题及解决方法

目录
  • 一、CentOS安装Python3
  • 二、安装scapy模块

一、CentOS安装Python3

centos7自带版本是python2.7

如果要用的3.0以上的版本需要手动安装,下载地址:https://www.python.org/ftp/python/

1、先查看系统python的位置在哪儿

whereis python

python2.7默认安装是在 /usr/bin目录中,切换到/usr/bin/

cd /usr/bin/
ll python*

从下面的图中我们可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后删除python链接,将python3指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。

2、下载python3的包之前,要先安装相关的依赖包,用于下载编译python3:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

运行了以上命令以后,就安装了编译python3所用到的相关依赖

3、默认的centos7是没有安装pip,先添加epel扩展源

yum -y install epel-release

4、安装pip

pip install wget

5、用pip装wget

pip install wget

6、用wget下载python3的源码包,或者自己先下载好,上传到服务器再安装,如果网络快可以直接安装

wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz

7、编译python3源码包,解压

xz -d Python-3.9.6.tar.xz
tar -xf Python-3.9.6.tar

8、进入解压后的目录,依次执行下面命令进行手动编译

cd Python-3.9.6
./configure prefix=/usr/local/python3
make && make install

注意:

安装过程中报错:

ModuleNotFoundError: No module named '_ctypes'

make: *** [install] Error 1

问题原因:
python3中有个内置模块叫ctypes,它是python3的外部函数库模块,提供了兼容C语言的数据类型,并通过它调用Linux系统下的共享库(Shared library),此模块需要使用centos7系统中外部函数库(Foreign function library)的开发链接库(头文件和链接库)。
由于在centos7系统中没有安装外部函数库(libffi)的开发链接库软件包,所以在安装pip的时候就报了"ModuleNotFoundError: No module named ‘_ctypes’"的错误。

解决方法:

yum install -y libffi-devel
# 如果没有yum源,可下载包上传
https://vault.centos.org/

然后重新./configure ... make ... make install

9、安装依赖zlib、zlib-deve

yum install zlib zlib
yum install zlib zlib-devel

10、最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录
11、添加软链接,将原来的链接备份

mv /usr/bin/python /usr/bin/python.bak

12、添加python3的软链接

ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3

13、测试是否安装成功了

python3 -V

14、更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用

vi /usr/bin/yum

15、把第一行的#! /usr/bin/python 修改为如下

#! /usr/bin/python2

16、还有一个地方也需要修改

vi /usr/libexec/urlgrabber-ext-down

17、把第一行的#! /usr/bin/python 修改如下

#! /usr/bin/python2

18、启动python2

python2

19、启动python3

python3

二、安装scapy模块

Scapy是一个强大的基于Python的交互式包操作程序和库。 它能够伪造或解码大量协议的数据包,在有线上发送它们,捕获它们,使用pcapfile存储或读取数据包,匹配请求和答复,等等。 它被设计为通过使用可用的默认值来允许快速的数据包原型化。 它可以轻松地处理大多数经典任务,如扫描、跟踪、探测、单元测试、攻击或网络发现(它可以替换hping,85%nmap, arpspoof, arp-sk, arping, tcpdump, wireshark, p0f等等)。它还能很好地执行大多数其他工具无法处理的许多其他特定任务,如发送无效帧、注入您自己的802.11帧、组合技术(VLAN跳变+ARP缓存中毒、WEP保护信道上的VoIP解码等)。

1、yum安装相关依赖程序

yum -y install tcpdump graphviz ImageMagick

2、到GitHub上下载安装包,进行编译安装

#https://github.com/secdev/scapy
cd scapy-master/
python3 setup.py install

3、创建软链接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip
ln -s /usr/local/python3/bin/scapy /usr/bin/scapy

4、scapy生成动态路由轨迹图代码示例

#!/usr/bin/python3
#-*-coding:UTF-8-*-
import os,sys,time,subprocess
import logging,warnings
warnings.filterwarnings("ignore",category=DeprecationWarning) #屏蔽scapy无用警告信息
logging.getLogger("scapy.runtime").setLevel(logging.ERROR) #屏蔽模块IPV6多余警告
from scapy.all import traceroute
domains = input('请输入IP地址或域名地址:')
target = domains.split(' ')
dport = [80] #扫描的端口列表
if len(target) >=1 and target[0] !='':
res,unans = traceroute(target,dport=dport,retry=2) #启动路由跟踪
res.graph(target="> test.svg") #生成svg矢量图形
time.sleep(1)
subprocess.Popen("/usr/bin/convert test.svg test.png", shell=True)
#svg转png格式
else:
print('IP/domain number of errors,exit')

到此这篇关于Centos安装python3与scapy模块的文章就介绍到这了,更多相关Centos安装python3内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python使用scapy模块发包收包

    前言 众所周知,我们每天上网都会有很多数据包需要发送,然后处理在接受在发送,这样一个循环往复的过程 这里就显示了很多数据包的发送接收数据,那什么是包呢?下面一起看看 包( packet )是网络通信传输中的数据单位,一般称之为数据包,其主要由源地址,目标地址,净载数据组成 它包括包头和包体,包头是固定长度,包体长度不变 简单了解下包的定义,下面我们来看看发包利器 scapy 的用法吧 一.常用命令 1.ls():显示所有支持的数据包对象,可带参数也可不带,参数可以是任意具体的包 可以看出,它包含

  • CentOS下Python3的安装及创建虚拟环境的方法

    安装python3 一.安装需要编译的关联库 yum instal -y zlib zlib-devel   (根据自己系统的情况,安装需要的关联库,同样用yum安装即可) 二.下载python3的安装包 cd /tmp #建议切换到临时文件夹 wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz 三.解压.编译.安装 #解压 tar -zxvf Python-3.6.3.tgz #进入解压后的目录 cd Python-3.6

  • python使用scapy模块实现ARP扫描的过程

    前言 上篇文章主要写了利用scapy实现ping扫描,这篇文章主要是利用scapy模块实现内网ARP扫描 实现过程 上篇文章中介绍了通过scapy来伪造包,那么ARP包的伪造过程这里不再详述,说一工具的简单整体流程 1.首先,实现单个IP的ARP包的发送和接收 2.其次,实现多进程同时多个ARP包的发送和接收 整体的实现流程与上个脚本的实现较为相似 单进程ARP包 包的构造: def scapy_arp_one(ip_address, queue=None): Packet = Ether(ds

  • Centos7环境安装Python3的方法

    本文实例讲述了Centos7环境安装Python3的方法.分享给大家供大家参考,具体如下: 由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_centos Python-3.6.2]# python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2 Ty

  • python使用scapy模块实现ping扫描的过程详解

    关于scapy Scapy 是一个可以让用户发送.侦听和解析并伪装网络报文的Python程序.这些功能可以用于制作侦测.扫描和攻击网络的工具. 换言之, Scapy 是一个强大的操纵报文的交互程序.它可以伪造或者解析多种协议的报文,还具有发送.捕获.匹配请求和响应这些报文以及更多的功能. Scapy 可以轻松地做到像扫描(scanning).路由跟踪(tracerouting).探测(probing).单元测试(unit tests).攻击(attacks)和发现网络(network disco

  • 在centos7下安装python3的步骤

    环境搭建 准备工具: centos7:http://mirror.bit.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso virtuslvox:https://www.virtualbox.org/wiki/Downloads subline secureCRT 1.装好虚拟机后,添加镜像文件,选择minimal最小化安装 yum update#更新软件 yum -y install gcc kernel-devel kenel-

  • Centos安装python3与scapy模块的问题及解决方法

    目录 一.CentOS安装Python3 二.安装scapy模块 一.CentOS安装Python3 centos7自带版本是python2.7 如果要用的3.0以上的版本需要手动安装,下载地址:https://www.python.org/ftp/python/ 1.先查看系统python的位置在哪儿 whereis python python2.7默认安装是在 /usr/bin目录中,切换到/usr/bin/ cd /usr/bin/ ll python* 从下面的图中我们可以看到,pyth

  • centos 安装Python3 及对应的pip教程详解

    安装Python3 安装Python依赖: yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel 由于Python在linux不支持我们以可执行程序的方式安装,所以需要我们选择对应的版本源码安装 源码下载站点: https://www.python.org/ftp/python/ 以Python3.6为例: wget https://www.python.org/ftp/p

  • centos 安装python3.6环境并配置虚拟环境的详细教程

    python3.6下载地址: https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz linux 下python 环境配置 统一目录: 源码存放位置 $HOME/tools 安装目录: /application 安装python 环境: 1.  下载 # 创建下载目录 mkdir $HOME/tools # 切换到tools统一管理源码目录 cd $HOME/tools wget https://www.python.org/ftp/py

  • Python安装模块的常见问题及解决方法

    1.error: command 'x86_64-linux-gnu-gcc' failed with exit status 解决办法: # Python 3 $ sudo apt-get install python3 python-dev python3-dev \ build-essential libssl-dev libffi-dev \ libxml2-dev libxslt1-dev zlib1g-dev \ python-pip # Python 2 $ sudo apt-ge

  • pip安装Python库时遇到的问题及解决方法

    笔者电脑系统是win7,同时安装了Python2.7和Python3.6,但是在通过命令行直接使用"pip install XXX"安装Python库时出现了以下的错误信息: Fatal error in launcher: Unable to create process using '"' 解决方法: 1,找到你的Python版本对应的解释器的名称 首先你需要进入安装Python相应版本所在的文件夹.以我的Python版本为例,这是我的Python2.7版本对应的解释器名

  • Linux CentOS 6.5 ifconfig查询不到ip的解决方法

    最近有小伙伴表示在虚拟机中安装CentOS之后使用ifconfig以及ip addr指令无法查询到ip地址, 在此笔者提供一个简单有效的方法; 1. 切换为root用户登录 su root 2.进入配置查找相关文件的文件夹内, 找到ifcfg-eth0文件 cd /etc/sysconfig/network-scripts 3.修改该文件, 将ONBOOT=no更改为ONBOOT=yes vi ifcfg-eth0 4.保存退出 :wq 5.查询ip ifconfig 总结 以上所述是小编给大家

  • PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法

    0 说明 系统: windows 10 python 3.6.7 1 情况 在windows系统下使用pip install PySid2安装PySide2模块的时候出现下面的错误: 分析情况: (1)可能安装的模块并不是完整的模块,存在丢失的情况,因此卸载pyside2之后再重新安装,但是并没有什么作用,仍然还是报这个错误 (2)通过上网查询一些资料,发现使用pip安装的模块都是安装最新的模块,可能存在python版本和PySide2版本不相符的情况发生,因此在使用pip安装模块的时候,给模块

  • seajs模块压缩问题与解决方法实例分析

    本文实例讲述了seajs模块压缩问题与解决方法.分享给大家供大家参考,具体如下: 在优化整理项目代码时,想使用seajs来把代码模块化.看了下官方5分钟上手教程,觉得很不错,也没多想就一直开发下去了,也没出什么问题.等一同事说把代码打包个放到设备上去测试一下,发现怎么也跑不起来,郁闷了. 于是单步调试一把,发现模块一直加不进来.看了一下seajs的原码,明白了是怎么回事. define模块解析依赖有两种途径,一种是从define(id, deps, factory)中的deps来:还有一种是解析

  • MySQL 5.7解压版安装、卸载及乱码问题的图文解决方法

    1. 解压版的安装 (1). 下载压缩包并解压到一个磁盘位置 压缩包下载链接:https://dev.mysql.com/downloads/mysql/ 压缩包内容: (2). 写配置文件 复制my-default.ini重命名为my.ini,然后修改或添加配置信息: [mysqld] #mysql解压目录 basedir = <解压目录> #data文件夹位置,用来存放库和表 datadir = <data文件夹目录> #mysql默认端口号 port = 3306 #数据库服

  • CentOS 7下MySQL服务启动失败的快速解决方法

    今天,启动MySQL服务器失败,如下所示: [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe&qu

随机推荐