使用pythonscrip中的pycore库向节点发送和接收数据包

2024-05-09 01:03:49 发布

您现在位置:Python中文网/ 问答频道 /正文

#!/usr/bin/python
from core import pycore
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *

session = pycore.Session(persistent=True)
node1 = session.addobj(cls=pycore.nodes.CoreNode, name="node1")
node2 = session.addobj(cls=pycore.nodes.CoreNode, name="node2")
hub1 = session.addobj(cls=pycore.nodes.HubNode, name="hub")
node1.newnetif(hub1, ["10.0.0.1/24"])
node2.newnetif(hub1, ["10.0.0.2/24"])

packet = IP(src="10.0.0.1",dst="10.0.0.2")/ICMP()/"Hello World"

这里我创建了两个节点,即node1node2,它们连接到名为hub1的集线器。node2可从node1进行ping,但我想将包(我在最后一行代码中生成)从node1发送到{},并在node2接收后处理该包。请帮帮我!在


Tags: namefromimportsessionloggingscapyclsnodes
1条回答
网友
1楼 · 发布于 2024-05-09 01:03:49

要通过网络发送文件,您可以在Linux上使用NetCat。在核心中,您可以向这些节点发送shell命令。因此,您可以执行以下操作。在

node1.shcmd("nc -l 4444 > download.txt")
node2.shcmd("nc -w3 10.0.0.1 4444 < upload.txt")

文件上传.txt假设存在于虚拟节点node2上,并被复制到虚拟节点node1中,文件名为下载.txt

要创建文件,可以再次使用shcmd来传递shell命令来创建文件。在

^{pr2}$

这将在node2上创建一个102kB的文件。请确保在使用NetCat之前使用此命令。在

相关问题 更多 >