scapy花费无限时间发送TCP SYN数据包而没有回复。

时间:2018-08-11 09:27:45

标签: python linux scapy tcp-ip

我想向路由器发送一个简单的SYN请求以获取ACK响应,以尝试使用python和scapy学习网络(TCP / IP)。
但是,scapy需要很长时间才能得到答案。
脚本-

#!/usr/bin/env python

from scapy.all import *


pack=TCP(sport=22,dport=80,flags='S')/IP(src="192.168.0.13",dst="192.168.0.1")

# tried with retry and timeout options using both sr() and sr1()
# but it comes with no answer from the router. 
# ran this with sudo and iptables policy is default [ACCEPT] 

ans = sr1(pack)

有什么解决方案?

1 个答案:

答案 0 :(得分:0)

因此,总结起来,您需要颠倒IPTCP的顺序。

人们所说的TCP / IP实际上是堆叠在IP层之上的TCP层。

例如,这里是基本层的堆栈:

Tcp/IP stack

每个堆栈都会添加新信息:以太网提供MAC地址,以便数据包到达路由器。然后IP告诉数据应该发送到哪台计算机。 TCP最终宣布了一些数据,扩展名.....

必须按此顺序:在指定数据之前,您需要知道数据包需要到达的位置