栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用python中scapy 实施TCP 全开扫描

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用python中scapy 实施TCP 全开扫描

import sys
from scapy.all import *   // 引入sys 和scapy两个模块
if len(sys.argv)!=3:      // 输入的如果不是三个元素会报错,注意sys.argv函数返回的是是个列表
    print("synty error")
    sys.exit(1)
dst_ip=sys.argv[1]     //目标ip地址
dst_port=int(sys.argv[2])//目标端口
src_port=RandShort()     //自动获取一个源端口
resp=sr1(IP(dst=dst_ip)/TCP(sport=src_port,dport=dst_port,flags="S"))  //构建TCP数据包,“S”是全开扫描。
if(str(type(resp)) == ""):   //这是返回数据包无类型情况
    print("The port is %s Closed"%(dst_port))
elif(resp.haslayer(TCP)):      //返回数据包如果是TCP包
    if(resp.getlayer(TCP).flags == 0x12):    //flags==0x12代表返回的是SYN+ACK数据包
        send_rst = sr1(IP(dst=dst_ip)/TCP(sport=src_port,dport=dst_port,flags="AR"))  //发送ACK+RESET数据包建立连接
        print("The port is %s Open"%dst_port)
    elif(resp.getlayer(TCP).flags == 0x14):  //flags==0x12代表返回的是reset数据包,对方拒绝建立连接
        print("The port is %s Close"%dst_port)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/588038.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号