代码拉取完成,页面将自动刷新
同步操作将从 现任明教教主-乾颐堂/qytang_Python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/python3.4
# -*- coding=utf-8 -*-
#本脚由亁颐堂现任明教教主编写,用于乾颐盾Python课程!
#教主QQ:605658506
#亁颐堂官网www.qytang.com
#乾颐盾是由亁颐堂现任明教教主开发的综合性安全课程
#包括传统网络安全(防火墙,IPS...)与Python语言和黑客渗透课程!
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *
import time
import optparse
from IPy import IP as IPTEST
ttlValues = {}
THRESH = 5
def checkTTL(ipsrc, ttl):
if IPTEST(ipsrc).iptype() == 'PRIVATE':
return
if not ipsrc in ttlValues:
pkt = sr1(IP(dst=ipsrc)/ICMP(), retry=0, timeout=1, verbose=0, iface='eno33554944')
ttlValues[ipsrc] = pkt[0].fields['ttl']
if abs(int(ttl) - int(ttlValues[ipsrc])) > THRESH:
print('\n[!] 检查到可能的欺骗攻击,来至于:' + ipsrc)
print('[!] TTL: ' + ttl + ' , 真实的TTL为: ' + str(ttlValues[ipsrc]))
def testTTL(pkt):
try:
if pkt.haslayer(IP):
ipsrc = pkt.getlayer(IP).src
ttl = str(pkt.ttl)
checkTTL(ipsrc, ttl)
except:
pass
def main():
parser = optparse.OptionParser('程序使用方法: -i<interface> -t<thresh>')
parser.add_option('-i', dest = 'iface', type = 'string', help = '指定网络接口')
parser.add_option('-t', dest = 'thresh', type = 'int', help = '指定TTL误差的阈值')
(options, args) = parser.parse_args()
if options.iface == None:
use_iface = 'eno33554944'
else:
use_iface = options.iface
if options.thresh != None:
THRESH = options.thresh
else:
THRESH = 5
sniff(prn = testTTL, store = 0, iface=use_iface)
if __name__ == '__main__':
main()
################################################################################
[root@Fedora hacker]# ./检查收到的TTL与测试的TTL是否匹配.py
[!] 检查到可能的欺骗攻击,来至于:202.100.1.139
[!] TTL: 16 , 真实的TTL为: 64
[!] 检查到可能的欺骗攻击,来至于:202.100.1.139
[!] TTL: 16 , 真实的TTL为: 64
[!] 检查到可能的欺骗攻击,来至于:202.100.1.139
[!] TTL: 16 , 真实的TTL为: 64
[!] 检查到可能的欺骗攻击,来至于:202.100.1.139
[!] TTL: 16 , 真实的TTL为: 64
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。