from scapy.all import *
import urllib
import urllib.request
import time
import socket
大家好我正在制作一个程序,将源IP和网站地址作为“stackoverflow.com”并发送数据包并不是什么大不了但我想知道如果我的数据包到达防火墙或者它是如何我知道的发送到Web服务器这里是代码;
kynak = input("Kaynak IP Adresini Giriniz : ")
url = input("Hedef Websitesini Giriniz : ")
hdef = socket.gethostbyname(url)
url = "http://www."+ url
此部分用于获取输入并获取输入网站的IP地址。
i=1
for srcport in range(1,65535):
IP1 = IP(src=kynak, dst=hdef)
TCP1 = TCP(sport=srcport, dport=80)
pkt = IP1 / TCP1
send(pkt,inter= .0001)
print(i,". Paket Gonderildi ")
i=i+1
所以我需要知道我是否可以了解这些数据包是发送到服务器还是防火墙丢弃的。
感谢您的帮助。
答案 0 :(得分:2)
由于您正在使用TCP / IP,因此您会发送数据包,您的数据将通过数据包目的地的TCP / IP堆栈进行确认。
如果您的数据包未被确认,这将导致您的机器在一段时间后重新传输(TCP / IP是保证数据传输的可靠协议)。如果没有再次确认该重传,则如果在连续的重传上缺少ACK,则启动另一次重传,导致连接重置。
因此,如果您的连接在一段时间后重置或者您的传输速率下降,那么另一侧(或途中)的某些东西就不对了。但是,如果您的数据被防火墙或其他事情所拒绝,您将无法解除警告......
我强烈建议您使用Wireshark等工具查看TCP / IP协议,并尝试弄清楚发生了什么。