无法使用Scapy操作数据包时间戳

时间:2014-12-14 10:20:51

标签: python timestamp ethernet scapy packets

我愿意用我选择的任何timestamp伪造一个数据包。

我写了以下代码:

from scapy.all import *
from datetime import datetime

pkt1 = scapy.all.Ether()
pkt1.src = "01:01:76:05:8c:0d"
pkt1.dst = "1b:1b:1b:1b:01:01"
pkt1.time = 12345678
str(pkt1)
print datetime.fromtimestamp(pkt1.time)

我在数据包中得到的只是当前时间而不是"12345678"

有谁知道为什么这不起作用? 还有其他方法可以对数据包进行时间处理吗?

1 个答案:

答案 0 :(得分:0)

当我使用存储库中的最新Scapy版本尝试您的代码时,它似乎有用。

$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from scapy.all import *
WARNING: No route found for IPv6 destination :: (no default route?)
>>> from datetime import datetime
>>> 
>>> pkt1 = scapy.all.Ether()
>>> pkt1.src = "01:01:76:05:8c:0d"
>>> pkt1.dst = "1b:1b:1b:1b:01:01"
>>> pkt1.time = 12345678
>>> str(pkt1)
'\x1b\x1b\x1b\x1b\x01\x01\x01\x01v\x05\x8c\r\x00\x00'
>>> print datetime.fromtimestamp(pkt1.time)
1970-05-23 22:21:18
>>> 

你得到了什么?

您是否尝试使用repository中的最新版本(hg clone http://bb.secdev.org/scapy)?