【问题标题】:scapy takes infinite time sending TCP SYN packet with no reply.scapy 需要无限时间发送 TCP SYN 数据包而没有回复。
【发布时间】:2018-08-11 09:27:45
【问题描述】:

我想向我的路由器发送一个简单的 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)

解决办法是什么?

【问题讨论】:

  • 嗯,我从未听说过 TCP 层之上的 IP 层:/ 你确定你正确地构建了数据包吗? (应该是相反的)
  • 从概念 tcp/ip :/
  • 你应该这样做IP(stuff)/TCP(stuff)
  • 成功了。但想了解更多详情。
  • 在下面查看我的答案

标签: python linux scapy tcp-ip


【解决方案1】:

所以总结一下,你需要颠倒IP和TCP的顺序。

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

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

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

需要按这个顺序:在指定数据之前,你需要知道数据包需要去哪里

【讨论】:

    猜你喜欢
    • 2020-03-24
    • 1970-01-01
    • 2016-10-25
    • 2015-08-28
    • 2020-08-01
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多