在python中无法通过原始套接字发送Scapy数据包
一个简单的客户机-服务器原始套接字,其中客户机发送一个自定义数据包,并从服务器接收该数据包 这是我的密码 Client.py 输出: Server.py 服务器向我显示它截获的每个数据包,但没有client.py脚本发送的数据包的迹象。我想它根本就没有寄出在python中无法通过原始套接字发送Scapy数据包,python,sockets,scapy,raw-sockets,Python,Sockets,Scapy,Raw Sockets,一个简单的客户机-服务器原始套接字,其中客户机发送一个自定义数据包,并从服务器接收该数据包 这是我的密码 Client.py 输出: Server.py 服务器向我显示它截获的每个数据包,但没有client.py脚本发送的数据包的迹象。我想它根本就没有寄出 问题是什么?您的计算机上是否有防火墙,它们有时会拦截套接字?没有防火墙。客户端和服务器是网络上的同一台机器,还是两台独立的机器?同一网络上的两台独立机器 #!/usr/bin/env python import socket import
问题是什么?您的计算机上是否有防火墙,它们有时会拦截套接字?没有防火墙。客户端和服务器是网络上的同一台机器,还是两台独立的机器?同一网络上的两台独立机器
#!/usr/bin/env python
import socket
import sys
from scapy.all import *
sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW)
try:
a=Ether(dst="90:**:**:**:**:75", src="90:**:**:**:**:96")/IP(src="192.168.240.5", dst="192.168.240.1")/TCP(sport=10000,dport=10000)/"HELLO"
a.show()
sendp(a)
finally:
print >>sys.stderr, 'closing socket'
sock.close()
###[ Ethernet ]###
dst = 90:**:**:**:**:75
src = 90:**:**:**:**:96
type = 0x800
###[ IP ]###
version = 4
ihl = None
tos = 0x0
len = None
id = 1
flags =
frag = 0
ttl = 64
proto = tcp
chksum = None
src = 192.168.240.5
dst = 192.168.240.1
\options \
###[ TCP ]###
sport = 10000
dport = 10000
seq = 0
ack = 0
dataofs = None
reserved = 0
flags = S
window = 8192
chksum = None
urgptr = 0
options = {}
###[ Raw ]###
load = 'HELLO'
.
Sent 1 packets.
closing socket
#!/usr/bin/env python
import socket
import sys
from scapy.all import *
sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW)
sock.bind(("wlan0",10000))
def pkt_callback(pkt):
pkt.show() # debug statement
while True:
print >>sys.stderr, 'waiting for a connection'
sniff(iface="wlan0", prn=pkt_callback, store=0)