小编Ric*_*son的帖子

在scapy/python中获取数据包大小

在Scapy(或者甚至只是Python,为此),如何获得给定数据包的字节大小?我很想使用这个功能,len但我不确定它在数据包的情况下究竟会返回什么.

>>> len(IP(dst="www.google.com"))
20

>>> len(IP(dst="www.google.com")/TCP(dport=80))
40
Run Code Online (Sandbox Code Playgroud)

python size scapy packet

9
推荐指数
1
解决办法
2万
查看次数

R,Python:在rpy2上安装软件包

R在我的Python脚本中通过rpy2库使用,我需要一个不在R的默认安装中的软件包.我该如何安装它?

install.packages("DirichletReg", repos="http://r-forge.r-project.org")
Run Code Online (Sandbox Code Playgroud)

不行.

在Python上:

>>> install.packages("DirichletReg", repos="http://r-forge.r-project.org") 
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'install' is not defined
Run Code Online (Sandbox Code Playgroud)

来自R:

> install.packages("DirichletReg", repos="http://r-forge.r-project.org")
Installing package(s) into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning message:
In getDependencies(pkgs, dependencies, available, lib) :
  package ‘DirichletReg’ is not available (for R version 2.14.1)
Run Code Online (Sandbox Code Playgroud)

python import r package

9
推荐指数
3
解决办法
1万
查看次数

bash:-exec in find命令和&

我想跑:

./my_script.py a_file &
Run Code Online (Sandbox Code Playgroud)

...在当前文件夹中以...结尾的所有文件上.my_format,所以我这样做:

find . -type f -name "*.my_format" -exec ./my_script {} & \;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我应该如何包含&-exec参数中?

bash find

9
推荐指数
2
解决办法
3353
查看次数

将连续整数分组并容忍1的间隙

在Python中,给定一个排序整数列表,我会按连续值对它们进行分组,容忍1的间隙.

例如,给出一个列表my_list:

In [66]: my_list
Out[66]: [0, 1, 2, 3, 5, 6, 10, 11, 15, 16, 18, 19, 20]
Run Code Online (Sandbox Code Playgroud)

我想要以下输出:

[[0, 1, 2, 3, 5, 6], [10, 11], [15, 16, 18, 19, 20]]
Run Code Online (Sandbox Code Playgroud)

现在,如果我不必忍受1的差距,我可以应用这里解释的整洁解决方案:

import itertools
import operator
results = []
for k, g in itertools.groupby(enumerate(my_list), lambda (i,x):i-x):
        group = map(operator.itemgetter(1), g)
        results.append(group)
Run Code Online (Sandbox Code Playgroud)

有没有办法将我的额外要求纳入上述解决方案?如果没有,解决问题的最佳方法是什么?

python grouping list python-itertools

9
推荐指数
3
解决办法
1652
查看次数

了解电栅栏和gdb的输出

当调试以segfault终止的程序时,电栅栏与gdb一起返回:

"ElectricFence Exiting: mprotect() failed: Cannot allocate memory [Thread 0xb0bd4b70 (LWP 5363) exited] Program exited with code 0377.

我其实认为电围栏会更有帮助.这是什么意思?我该如何解读这条信息呢?似乎没有任何可以看到的堆栈,或者至少bt不会返回任何东西.

任何建议都会非常感激.

谢谢!

debugging gdb segmentation-fault electric-fence

8
推荐指数
2
解决办法
3440
查看次数

Matplotlib:删除有关matplotlib.use()的警告

在我使用的Python模块中matplotlib,我想确保它在我通过远程计算机运行脚本时也能正常工作ssh.所以我这样做:

import matplotlib
matplotlib.use('Agg')
from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
import numpy as np
import pylab
import scipy.stats
import scipy.stats.mstats
Run Code Online (Sandbox Code Playgroud)

有用.太糟糕了,当我直接在机器上运行它(不是远程机器!)时,它给了我以下警告:

对matplotlib.use()的这个调用没有效果,因为已经选择了后端; 必须 在首次导入pylab,matplotlib.pyplot或matplotlib.backends 之前调用matplotlib.use().

如何删除此邮件?

python warnings matplotlib

8
推荐指数
2
解决办法
1万
查看次数

Matplotlib:显示次要蜱的标签

matplotlib,当我log在一个轴上使用刻度时,可能会发生该轴没有主要刻度,只有较小刻度.所以这意味着没有为整个轴显示标签.

如何指定我还需要标签以用于次要刻度?

我试过了:

plt.setp(ax.get_xticklabels(minor=True), visible=True)
Run Code Online (Sandbox Code Playgroud)

......但它并没有成功.

python plot matplotlib axis-labels

8
推荐指数
2
解决办法
2万
查看次数

在Python中获取网络地址和网络掩码

在我的Python脚本中,我需要检索运行脚本的机器的IP地址及其网络地址和网络字节.

至于IP地址,我在档案中找到了解决方案:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("www.google.com",80))
myAddress = (s.getsockname()[0])
s.close()
Run Code Online (Sandbox Code Playgroud)

但是我应该如何寻找网络地址和网络字节?我需要将这些信息放入格式的tcpdump过滤器中$NetworkAddress/$NetworkBytes,如果这有帮助的话.

例:

128.1.2.0/20
Run Code Online (Sandbox Code Playgroud)

inet 跑步的时候真的可以找到它ip addr.在Python中获取此信息的任何简单方法?

python sockets ip ip-address

7
推荐指数
1
解决办法
1万
查看次数

plt.figure()vs Matplotlib中的子图

Matplotlib中,很多示例都出现在表单中ax = subplot(111),然后应用了函数ax,例如ax.xaxis.set_major_formatter(FuncFormatter(myfunc)).(在这里找到)

或者,当我不需要子图时,我可以做plt.figure(),然后绘制我需要的任何东西plt.plot()或类似的功能.

现在,我正好在第二种情况下,但我想set_major_formatter在X轴上调用该函数.调用它plt当然不会起作用:

>>> plt.xaxis.set_major_formatter(FuncFormatter(myfunc)) 
Traceback (most recent call last):
File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'xaxis'
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

python plot graph matplotlib

7
推荐指数
1
解决办法
9969
查看次数

Python:通过字符串中的名称访问结构字段

在Scapy的,我想比较了多种任意两个包之间的头字段的ab.此字段列表是预定义的,例如:

fieldsToCompare = ['tos', 'id', 'len', 'proto'] #IP header
Run Code Online (Sandbox Code Playgroud)

通常我会单独做:

if a[IP].tos == b[IP].tos:
   ... do stuff...
Run Code Online (Sandbox Code Playgroud)

有没有办法从字符串列表中访问这些包字段,包括调用每个字符串的内容?喜欢:

for field in fieldsToCompare:
    if a[IP].field == b[IP].field:
         ... do stuff...
Run Code Online (Sandbox Code Playgroud)

python ip field structure scapy

7
推荐指数
1
解决办法
8446
查看次数