使用scapy的sr函数时,我无法接收到请求的所有相关数据包。
ans, unans = sr(IP(dst="172.xxx.xxx.xxx")/TCP(dport=80,flags="S"))
返回:
Received 2 packets, got 1 answers, remaining 0 packets
我首先得到的是ICMP重定向。之后我从SA的本地服务部门得到了答案。有时它会告诉我收到了两个数据包,这是有道理的,但是当我在摘要中查看它时会打印出以下内容:
<bound method SndRcvList.summary of <Results: TCP:0 UDP:0 ICMP:1 Other:0>>
和摘要()我发现:
IP / TCP 172.xxx.xxx.xxx:ftp_data > 172.zzz.zzz.zzz:http S ==> IP / ICMP 172.yyy.yyy.yyy > 172.xxx.xxx.xxx redirect host-redirect / IPerror / TCPerror
首先,我想知道我的SA标记的TCP数据包在哪里。当我查看网络转储时,我肯定会在ICMP数据包之后看到它。我已经确保在运行和不运行tcpdump的情况下运行scapy,以防万一它会干扰,它不应该。
我还尝试设置和增加超时,以防它没有等待足够长的时间来接收TCP数据包。没用。
我也在环回接口,本地局域网和位于互联网上的系统上尝试过。到处都是相同的
有关错误位置的任何想法?
答案 0 :(得分:0)
Scapy认为这个ICMP数据包是对初始TCP SYN请求(它实际上是)的响应。尝试使用import UIKit
class CustomTextField: UITextField {
override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
if action == "paste:" {
return false
}
return super.canPerformAction(action, withSender: sender)
}
}
获取多个响应数据包。