四层发现-TCP发现

直接向目标ip发送一个ACK数据包,正常情况下up状态的目标ip会返回一个SRT数据包。

使用scapy构造TCP数据包:

然后在将一些数据类型设置好就可以发送了。

实用脚本实现批量扫描:

 1 #!/usr/bin/python
 2 from scapy.all import *
 3 if len(sys.argv) != 2:
 4     print "this script need a arg, like: ./tcpScan.py 192.168.0.0"
 5     sys.exit()
 6 
 7 address = str(sys.argv[1])
 8 prefix = address.split(".")[0] + "." + address.split(".")[1] + "." + address.split(".")[2] + "."
 9 
10 for addr in range(100, 254):
11     response = sr1(IP(dst = prefix + str(addr)) / TCP(dport = 2222, flags = "A"), timeout = 0.1, verbose = 0)
12     try:
13         if int(response[TCP].flags) == 4:
14             print prefix + str(addr)
15     except:
16         pass
View Code

这样就可以实现一个网段的扫描。

原文地址:https://www.cnblogs.com/angiejc/p/9384417.html