扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Kali Python3环境安装scapy模块
10多年的牟平网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整牟平建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“牟平网站设计”,“牟平网站推广”以来,每个客户项目都认真落实执行。
pip3 install scapy
本地网卡网段arp_scan脚本
#!/usr/bin/python3 import logging import subprocess logging.getLogger("scapy.runtime").setLevel(logging.ERROR) from scapy.all import * if len(sys.argv) != 2: print("使用方法 - ./arp_ping.py [interface]") print("示例 - ./arp_ping.py eth0") print("用于扫描网卡所在的C类地址段") sys.exit() interface = str(sys.argv[1]) ip = str(subprocess.check_output("ifconfig "+ interface + " | grep 'broadcast' | cut -d ' ' -f 10 | cut -d '.' -f 1-3", shell=True).strip(), encoding='utf-8') prefix = str(ip + '.')、 """过滤出网段信息,输出信息如:x.x.x.""" for addr in range(0,254): answer = sr1(ARP(pdst = prefix+str(addr)),timeout = 1, verbose = 0) if answer == None: """返回结果为空,则说明目标未响应,并继续扫描下一个,否则打印目标ip信息""" pass else: print(prefix+str(addr) + "存活")
C类网段ping_scan脚本
#! /usr/bin/python3 import logging import subprocess logging.getLogger("scapy.runtime").setLevel(logging.ERROR) from scapy.all import * if len(sys.argv) !=2: """如果输入的参数不是2个,打印输入示例,并退出""" print("使用方法: python3 ping_scan.py x.x.x.0/24") sys.exit() address = str(sys.argv[1]) prefix = address.split('.')[0] + '.' + address.split('.')[1] + '.' + address.split('.')[2] + '.' for addr in range(1,254): answer = sr1(IP(dst=prefix +str(addr))/ICMP(), timeout = 1, verbose = 0) if answer == None: pass else: print(prefix + str(addr) + "存活")
TCP扫描(通过目标ip是否有回包判断存活状态)
# usr/bin/python3 import logging logging.getLogger("scapy.runtime").setLevel(logging.ERROR) from scapy.all import * if len(sys.argv) != 2: print("使用示例:python3 ACK_ping.py 192.168.95.0") print("对192.168.95.0/24 进行TCP ACK ping 扫描") sys.exit() address = str(sys.argv[1]) prefix = address.split('.')[0] + '.' + address.split('.')[1] + '.' + address.split('.')[2] + '.' for addr in range(1,10): """对目标ip的2222端口发送 TCP ACK报文""" response = sr1(IP(dst=prefix + str(addr))/TCP(dport = 2222, flags = 'A'), timeout = 1, verbose = 0) try: if int(response[TCP].flags) == 4: """如果响应报文中的TCP flags字段为4,即目标reset连接,打印目标ip""" print(prefix + str(addr) + "存活") except: pass
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流