文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Kali-Python scapy模块-

2023-01-31 06:33

关注

Kali Python3环境安装scapy模块

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


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯