chang_iptables.zip

  • PUDN用户
    了解作者
  • Python
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2016-08-13 18:49
    上传日期
改变IPTABLES的22端口连接IP,令服务器安全。
chang_iptables.zip
  • chang_iptables.py
    2.2KB
内容介绍
#!/bin/env python #write by andy.zhang import os,time def get_new_ip(): if os.system('dig +short yhzxq.eicp.net >/tmp/new_ip.txt') != 0: ''' print 'IP Error,Exit' ''' os._exit() of_new_ip=file('/tmp/new_ip.txt','r') new_ip1=of_new_ip.readline().lstrip().rstrip() if not (new_ip1[0] in '123456789'): new_ip1='' of_new_ip.close() return new_ip1 def rep(str1,str2,str3): str4="" lo=len(str2.lstrip().rstrip()) for i in range(len(str1)): if str1[i:i+lo] == str2: ''' print str1[0:i] print str3 print str1[i+len(str2):] ''' str4=str1[0:i]+str3+str1[i+len(str2):] return str4 def getnowtime(): return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())) def create_new_iptables(): of=open('/etc/sysconfig/iptables','r') new_file=open('/etc/sysconfig/new_iptables','w') while True: line=of.readline() if line == '': new_file.flush() new_file.close() of.close() break if old_ip in line: ''' print new_ip ''' wline=rep(line,old_ip,new_ip) new_file.write(wline) else: new_file.write(line) return of=open('/etc/sysconfig/iptables','r') old_ip='' while True: line=of.readline() if '/32' in line and '--dport 22' in line: ''' print len(line) ''' fir=0 for i in range(len(line)): if line[i] in '0123456789': fir=i break for i in range(len(line)): if line[i] == '/': old_ip= line[fir:i].lstrip().rstrip() break if line =='' or old_ip != '': break of.close() if old_ip == '': '''print "Setting Is Erroy!Please check IPTABLES!!!" ''' exit new_ip=get_new_ip() while new_ip == '': new_ip=get_new_ip() if old_ip != new_ip: while True: if os.path.exists('/etc/sysconfig/new_iptables') and os.path.getsize('/etc/sysconfig/new_iptables') > 0: os.remove('/etc/sysconfig/iptables') os.rename('/etc/sysconfig/new_iptables', '/etc/sysconfig/iptables') if os.path.exists('/etc/sysconfig/iptables'): os.system('/etc/init.d/iptables restart') ''' os.system('/etc/init.d/fail2ban restart') ''' break else: create_new_iptables()
评论
    相关推荐
    • 数据库课程设计
      一个数据库课程设计,access管理工具实现,用的是窗体!
    • 数据库课程设计
      数据库课程设计十分完整有需要的请下载啊谢谢
    • 数据库课程设计
      广东工业大学数据库课程设计,可视化界面连接数据库,delphi7
    • 数据库课程设计
      数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述
    • 数据库课程设计
      数据库课程设计》由周爱武、汪海威、肖云编著,遵循数据库课程设计的具体要求,独立于具体的数据库教材,从实际应用系统的需求着手,引导读者逐步完成数据库设计全过程,重点讲解数据库系统的需求分析、概念设计、...
    • 数据库课程设计
      数据库课程设计人事管理系统 数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计...
    • 数据库课程设计
      数据库课程设计,基于visual basic自助银行管理系统,界面很清爽,实用。同学都说好,所以就上传了!!!
    • 数据库课程设计
      数据库课程设计 里面有详细的文档资料 包含数据库一切的图 以及生成的数据库表文件 期末得分为优秀
    • 数据库课程设计
      可以作为数据库课程设计,也可以作为Java的课程设计,内容全面。本资源转载的,非本人原创。用于交流学习,特此申明!
    • 数据库课程设计
      数据库课程设计蓝天大学学生管理系统 2.商店信息管理系统 3.实验室机房收费管理系统 4.图书馆资料检索系统 5.企业库存管理系统 6.仓库管理系统 7.工程项目管理系统 8.教材管理系统 9.企业人事管理系统 10.企业财务...