日常积累.
1.扫内网存活
- 测试b段,140台存活主机,240s。
- 测试b端,1500太存活主机,2800s。
nmap -sP --min-hostgroup 1024 --min-parallelism 1024 172.16.0.1/16 -oG ip_list.txt
- 滤下IP。
import re
with open('ip_list.txt', 'r') as fi:
for line in fi:
result = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line)
if result:
fo = open('ip_output.txt', 'a')
fo.write(result[0]+"\n")
fo.close()
fi.close()
2.ARP扫描内网存活
from scapy.all import *
wifi="Intel(R) Ethernet Connection (2) I219-LM"
# 构造数据包
# Ether()层可以省略构造内容,因为默认就是,当然可以写上,可以加快速度
p=Ether(dst="ff:ff:ff:ff:ff:ff",src="b8:81:98:e0:46:6a")/ARP(pdst="10.2.41.1/24")
# 数据包发送,srp同时收到响应数据包和不响应数据包,需要用两个变量来接收。
# ans中有请求有响应,unans只有请求没有响应
ans,unans=srp(p,iface=wifi,timeout=2)
print("一共扫描到了%d个主机"%len(ans))
result=[]
# ans是元组的形式,可以测试ans[0],发现结果是元组的形式
for s,r in ans:
result.append([r[ARP].psrc,r[ARP].hwsrc]) # 把目标的IP以及MAC地址加入到新的列表
result.sort() #对列表进行排序
# 遍历列表,打印ip以及对应的mac地址
for ip,mac in result:
print(ip,"--->",mac)