scapy发包收包

发送端程序(sender.py):

from scapy.all import send, IP, TCP

source_ip = "192.168.42.232"
target_ip = "192.168.42.45"
send_port = 8888

msg = "hello, world"

packet = IP(src=source_ip, dst=target_ip) / TCP(sport=send_port, dport=6666) / msg
send(packet, iface="Intel(R) Dual Band Wireless-AC 8260")  # 显式指定使用的网卡适配器进行发送

接收端程序(receiver.py):

from scapy.all import sniff, TCP

receive_port = 6666

def packet_handler(packet):
    if TCP in packet and packet[TCP].dport == receive_port:
        packet.show()

sniff(filter=f"tcp port {receive_port}", prn=packet_handler)

请注意,与使用 UDP 协议的示例代码相比,这里将 UDP 对象替换为了 TCP 对象,同时将过滤器中的 udp 替换为 tcp。并将源ip地址,目标ip地址修改为本机和目标地址的ip地址。

参考运行方式与之前相同:

  1. 打开一个终端,运行接收端程序:python receiver.py
  2. 打开另一个终端,运行发送端程序:python sender.py

发送端程序发送数据包后,接收端程序会监听指定的端口,并打印输出接收到的内容。

请确保发送端和接收端程序的运行环境正确配置,并且确保防火墙设置不会阻止端口之间的通信。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值