如果目标端口是开放的 , 那么不会有任何来自服务器的回应 。如果服务器返回了一个带有 RST 标识的 TCP 数据包 , 那么说明端口处于关闭状态 。
但如果服务器返回了一个 ICMP 数据包 , 其中包含 ICMP 目标不可达错误类型3以及 ICMP 状态码为1,2,3,9,10或13 , 则说明目标端口被过滤了无法确定是否处于开放状态 。代码:#! /usr/bin/pythonimport logginglogging.getLogger("scapy.runtime").setLevel(logging.ERROR)from scapy.all import *dst_ip = "10.0.0.1"src_port = RandShort()dst_port=80xmas_scan_resp = sr1(IP(dst=dst_ip)/TCP(dport=dst_port,flags="FPU"),timeout=10)if (str(type(xmas_scan_resp))==""): print "Open|Filtered"elif(xmas_scan_resp.haslayer(TCP)): if(xmas_scan_resp.getlayer(TCP).flags == 0x14): print "Closed"elif(xmas_scan_resp.haslayer(ICMP)): if(int(xmas_scan_resp.getlayer(ICMP).type)==3 and int(xmas_scan_resp.getlayer(ICMP).code) in [1,2,3,9,10,13]): print "Filtered"TCP FIN扫描FIN 扫描会向服务器发送带有 FIN 标识和端口号的 TCP 数据包 。
如果没有服务器端回应则说明端口开放 。如果服务器返回一个 RST 数据包 , 则说明目标端口是关闭的 。
如果服务器返回了一个 ICMP 数据包 , 其中包含 ICMP 目标不可达错误类型3以及 ICMP 代码为1,2,3,9,10或13 , 则说明目标端口被过滤了无法确定端口状态 。代码:#! /usr/bin/pythonimport logginglogging.getLogger("scapy.runtime").setLevel(logging.ERROR)from scapy.all import *dst_ip = "10.0.0.1"src_port = RandShort()dst_port=80fin_scan_resp = sr1(IP(dst=ds 。
【怎么用python写一个漏洞扫描器】
文章插图
- 油菜花是什么意思 油菜花是什么意思网络用语
- 电脑没声音怎么弄 电脑没声音怎么办win7
- cf怎么截图 CF游戏中怎么截图
- qq空间访问权限 手机怎么设置qq空间访问权限
- 鱼肉馅饺子怎么做 鱼肉馅饺子做法视频
- 怎么开葡萄酒 怎么开葡萄酒木塞小妙招
- 洗龙沟是什么意思 洗龙沟是什么意思衣机里面太脏了怎么办
- wow使命召唤怎么做 使命召唤怎么弄
- 文件隐藏了怎么恢复 windows文件隐藏了怎么恢复
- 英雄联盟查战斗力 英雄联盟怎么查战斗力