导航:首页 > 编程语言 > pypcapforpython3

pypcapforpython3

发布时间:2023-08-04 07:42:38

Ⅰ 如何在安装pip3以及第三方python

一。先安装python3

1. 先到官方网站下载python3的安装包,去downloads/source/ 下载的是Python-3.5.2.tar.xz

2. 上传包到服务器

3.解压

tar -xf Python-3.5.2.tar.xz

4.编译安装

安装必要依赖(至少需要如下两个,我个人就遇到如下两个)

yum install openssl-devel -y

yum install zlib-devel -y

好了现在可以安心的编译咯:

cd Python-3.5.2./configure --prefix=/opt/Python #安装目录可以自己定义无所谓。
make
make install

编译完成后会在如 /opt/下生成Python的文件夹 ,没错这就是编译完成的python --为了方便之行小伙伴们可以自己定义一个软连接如下:

# ln -s /opt/Python/bin/python3 /usr/bin/python3

这样就可以直接食用python3了如下:

Ⅱ python3.2 下的抓包库。。无论是pypcap还是scapy。貌似都没有py3的版本。。跪求一个可以python3用

有一个py3kcap是pycap的封装版本,可以用于python3版本。

给你一个使用的示例代码:

#!/usr/bin/env python3.2
import ctypes,sys
from ctypes.util import find_library
#pcap = ctypes.cdll.LoadLibrary("libpcap.so")
pcap = None
if(find_library("libpcap") == None):
print("We are here!")
pcap = ctypes.cdll.LoadLibrary("libpcap.so")
else:
pcap = ctypes.cdll.LoadLibrary(find_library("libpcap"))
# required so we can access bpf_program->bf_insns
"""
struct bpf_program {
u_int bf_len;
struct bpf_insn *bf_insns;}
"""
class bpf_program(ctypes.Structure):
_fields_ = [("bf_len", ctypes.c_int),("bf_insns", ctypes.c_void_p)]
class sockaddr(ctypes.Structure):
_fields_=[("sa_family",ctypes.c_uint16),("sa_data",ctypes.c_char*14)]
class pcap_pkthdr(ctypes.Structure):
_fields_ = [("tv_sec", ctypes.c_long), ("tv_usec", ctypes.c_long), ("caplen", ctypes.c_uint), ("len", ctypes.c_uint)]

pkthdr = pcap_pkthdr()
program = bpf_program()
# prepare args
snaplen = ctypes.c_int(1500)
#buf = ctypes.c_char_p(filter)
optimize = ctypes.c_int(1)
mask = ctypes.c_uint()
net = ctypes.c_uint()
to_ms = ctypes.c_int(100000)
promisc = ctypes.c_int(1)
filter = bytes(str("port 80"), 'ascii')
buf = ctypes.c_char_p(filter)
errbuf = ctypes.create_string_buffer(256)
pcap_close = pcap.pcap_close
pcap_lookupdev = pcap.pcap_lookupdev
pcap_lookupdev.restype = ctypes.c_char_p
#pcap_lookupnet(dev, &net, &mask, errbuf)
pcap_lookupnet = pcap.pcap_lookupnet
#pcap_t *pcap_open_live(const char *device, int snaplen,int promisc, int to_ms,
#char *errbuf
pcap_open_live = pcap.pcap_open_live
#int pcap_compile(pcap_t *p, struct bpf_program *fp,const char *str, int optimize,
#bpf_u_int32 netmask)
pcap_compile = pcap.pcap_compile
#int pcap_setfilter(pcap_t *p, struct bpf_program *fp);
pcap_setfilter = pcap.pcap_setfilter
#const u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h);
pcap_next = pcap.pcap_next
# int pcap_compile_nopcap(int snaplen, int linktype, struct bpf_program *program,
# const char *buf, int optimize, bpf_u_int32 mask);
pcap_geterr = pcap.pcap_geterr
pcap_geterr.restype = ctypes.c_char_p
#check for default lookup device
dev = pcap_lookupdev(errbuf)
#override it for now ..
dev = bytes(str("wlan0"), 'ascii')
if(dev):
print("{0} is the default interface".format(dev))
else:
print("Was not able to find default interface")

if(pcap_lookupnet(dev,ctypes.byref(net),ctypes.byref(mask),errbuf) == -1):
print("Error could not get netmask for device {0}".format(errbuf))
sys.exit(0)
else:
print("Got Required netmask")
handle = pcap_open_live(dev,snaplen,promisc,to_ms,errbuf)
if(handle is False):
print("Error unable to open session : {0}".format(errbuf.value))
sys.exit(0)
else:
print("Pcap open live worked!")
if(pcap_compile(handle,ctypes.byref(program),buf,optimize,mask) == -1):
# this requires we call pcap_geterr() to get the error
err = pcap_geterr(handle)
print("Error could not compile bpf filter because {0}".format(err))
else:
print("Filter Compiled!")
if(pcap_setfilter(handle,ctypes.byref(program)) == -1):
print("Error couldn't install filter {0}".format(errbuf.value))
sys.exit(0)
else:
print("Filter installed!")
if(pcap_next(handle,ctypes.byref(pkthdr)) == -1):
err = pcap_geterr(handle)
print("ERROR pcap_next: {0}".format(err))
print("Got {0} bytes of data".format(pkthdr.len))
pcap_close(handle)

Ⅲ Python3基础

默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

在 Python 3 中,非 ASCII 标识符也是允许的了。

保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

Python中单行注释以 # 开头,实例如下:

执行以上代码,输出结果为:

多行注释可以用多个 # 号,还有 ''' 和 """:

执行以上代码,输出结果为:

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

以上程序由于缩进不一致,执行后会出现类似以下错误:

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:

python中数字有四种类型:整数、布尔型、浮点数和复数。

实例

输出结果为:

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住: 空行也是程序代码的一部分。

执行下面的程序在按回车键后就会等待用户输入:

以上代码中 ," "在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:

执行以上代码,输出结果为:

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。

如下实例:

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""

以上实例执行结果为:

在 python 用 import 或者 from...import 来导入相应的模块。

将整个模块(somemole)导入,格式为: import somemole

从某个模块中导入某个函数,格式为: from somemole import somefunction

从某个模块中导入多个函数,格式为: from somemole import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemole import *

import sys print ( ' ================Python import mode========================== ' ) ; print ( ' 命令行参数为: ' ) for i in sys . argv : print ( i ) print ( ' python 路径为 ' , sys . path )

from sys import argv , path # 导入特定的成员 print ( ' ================python from import=================================== ' ) print ( ' path: ' , path ) # 因为已经导入path成员,所以此处引用时不需要加sys.path

很多程序可以执行一些操作来查看一些基本信息,Python可以使用-h参数查看各参数帮助信息:

Ⅳ Python3 条件控制和循环语句

在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。
在Python中没有switch – case语句。

Python 中没有 do..while 循环。
while 循环使用 else 语句,在 while … else 在条件语句为 false 时执行 else 的语句块。

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
range()函数:range(begin,end,step) 不包含end

break语句用于终止当前循环。break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
break 和 continue 语句通常与 if, if...else 和 if...elif...else 语句一起使用。
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
1.如果 else 语句和 while 循环语句一起使用,则当条件变为 False 时,则执行 else 语句
2.如果 else 语句和 for 循环语句一起使用,else 语句块只在 for 循环正常终止时执行

Python pass语句是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。

Ⅳ python中pypcap的参数问题

win10系统。使用pcap创建对象时候,无法给定网卡名。比如:mem1=pcap.pcap()这样的话可以创建对象,对应的网卡就是无线网卡,程序可以运行想指定网卡的时候:mem1=pcap.pcap('MYPC')#MYPC是网卡名就无法运行所以我是网卡名弄错了嘛==如果是的话去哪找网卡名==...展开

实际上就是pcap的网卡参数应该填什么

Ⅵ 如何在安装pip3以及第三方python库

在安装pip3以及第三方python库(for Mac)
环境
OS:10.12.3 (16D32) macOS Sierra
Python3: Python 3.6.1
什么是pip
Python之所以强大,其中一个原因是其丰富的第三方库。pip则是python第三方库的包管理工具。
由于在Mac上python2和python3是共存的。因而python3对应的包管理工具的命令就是:pip3如何安装pip3如果通过homebrew安装python3,那么pip3会同时安装。所以建议直接通过homebrew安装python3:
$brew install python3//no need sudo
如果你已经通过其他渠道安装了python3但是尚未安装pip3,那么需要通过以下步骤实现安装:
https : // pip.readthedocs .io/en/stable/installing/上述的链接是官方给出的方法,但是有几个地方需要注意,最好按照我博客一步步来:
https : // bootstrap .pypa .io/get-pip.py
复制粘贴另存为链接中的文本,可以保存为get-pip.py。
注意:其中内容很多,必须等网页加载完再复制,然后通过已经安装的python3解释器解释执行另存为的文件$python3 get-pip.py再次执行上述命令,显示:
Requirement already up-to-date: pip in /usr/local/lib/python3.6/site-packages1安装成功
如何安装第三方库
有了pip3以后,安装第三方库就容易多了,比如:
$pip3 install requests
Collecting requests
Downloading requests-2.13.0-py2.py3-none-any.whl (584kB)100% |████████████████████████████████| 593kB 298kB/sInstalling collected packages: requestsSuccessfully installed requests-2.13.0

Ⅶ 自学Python:解决Python3无法安装PIL三方库的办法

如果你是Python3的版本,安装PIL的时候,会出现下面的错误。

ERROR: Could not find a version that satisfies the requirement PIL (from versions: none)

ERROR: No matching distribution found for PIL

WARNING: You are using pip version 21.1.1; however, version 21.2.1 is available.

You should consider upgrading via the 'D:\python\Scripts\python.exe -m pip install --upgrade pip' command.

英文看不懂,可以找个翻译软件翻译一下。意思就是现在PIL没有支持python3的版本,目前只支持python2。那么在python3就不能用了吗?

当然不是,经过查询资料发现,在python3上使用Pillow代替PIL,只要安装Pillow就可以正常调用PIL的所有功能了。

安装Pillow后如果想要使用,不能使用import Pillow,执行会报下面的错误。

MoleNotFoundError: No mole named 'Pillow'

而是要直接使用import PIL调用。

_______________END______________

阅读全文

与pypcapforpython3相关的资料

热点内容
电脑主服务器未运行怎么解决 浏览:328
js超级玛丽源码 浏览:308
云镜下载什么格式app 浏览:765
iosAndroidjava 浏览:402
外卖员转型做程序员 浏览:927
看房用什么app准 浏览:157
鸡蛋解压玩具测评 浏览:705
阿里云发布arm服务器芯片 浏览:756
对加密货币平台的态度 浏览:373
刺客信条pdf 浏览:453
湛江头条程序员 浏览:162
装上加密狗就死机 浏览:927
windows程序员转linux 浏览:570
androidusb驱动xp 浏览:947
单片机的数字电压表设计 浏览:792
成功连接服务器是什么意思 浏览:892
如何审定服务器访问权限 浏览:687
姜梓童陈一鸣程序员 浏览:921
青岛程序员驻场开发哪家好 浏览:474
stc89c52单片机介绍 浏览:21