Python脚本之审查linux是否入侵之最近登陆ip归属地排查

     排查系统是否被入侵是系统管理员定期做的一个工作,而查看登陆过的ip是排查的第一步,本篇
博客就是根据last命令查看登陆过的ip的归属地的一个脚本,来帮助系统管理员查看有没有可疑地区的
ip登陆!

可以根据需求更改last -n的参数,可结合crontab做成计划任务,也可单独执行
本脚本适用于Centos Python3+

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import os
import urllib.request
import re
def ip_file():
    os.system(‘last -10 >> last.txt‘)
    r = open(‘last.txt‘, ‘r‘)
    w = open(‘ip.txt‘, ‘w‘)
    count_AG = 0
    count_AT = 0
    count_AC = 0
    for line in r:
        dat_in = line.split()
        count = (dat_in[2])
        w.write(count + ‘\n‘)
    w.write(‘exit‘)

    r.close()
    w.close()

def get_result():
    url = "http://www.ip138.com/ips138.asp?ip=%s&action=2" % ips
    u = urllib.request.urlopen(url)
    s = u.read()
    s = s.decode(‘GBK‘)
    ipa = re.findall(r‘\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}‘,s)
    print("\n****** Below Result From IP138 Database *****")
    print("IP Address:",ipa[0])
    result = re.findall(r‘(<li>.*?</li>)‘,s)
    for i in result:
        print(i[4:-5])
        print("*"*45)
        print(‘\n‘)

try:
     while True:
         ip_file()
         p = open(‘ip.txt‘, ‘r‘)
         p.seek(0, 0)
         for ipx in p:
            ip = ipx.split()
            ips = ‘‘.join(ip)
            if ip == "" or ip == ‘exit‘:
                break
            else:
                get_result()
except:
    print ("Not Data Find")
    
os.system(‘rm -f last.txt ip.txt‘ )
时间: 2024-08-26 03:32:20

Python脚本之审查linux是否入侵之最近登陆ip归属地排查的相关文章

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

用 Python 脚本实现对 Linux 服务器的网卡流量监控

*这篇文章网上已经有相关代码,为了加深印象,我做了相关注释,希望对朋友们有帮助 工作原理:基于/proc文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc 虚拟文件系统实现的./proc 文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做"/proc"),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息,在运行中(on the fly)改变设置(通过改变内核参

Python脚本完美解决Linux环境解压.zip文件乱码问题

1.vi uzip(文件名)2.复制以下Python程序 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # uzip.py 4 5 import os 6 import sys 7 import zipfile 8 9 print "Processing File " + sys.argv[1] 10 11 file=zipfile.ZipFile(sys.argv[1],"r"); 12 for name

Python中如何调用Linux命令

一.使用os模块 In [1]: import os #导入os模块 In [2]: os.system('ls') anaconda-ks.cfg epel-release-7-5.noarch.rpm ipython-4.1.2 ipython-4.1.2.tar.gz pip-8.1.2 pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz Out[2]: 0 In [3]: a=os.system('ls') ##得到的是执行的

window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory

今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpreter: No such file or directory 1.原因分析 这是不同系统编码格式引起的:在windows系统中编辑的logger.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows行结尾和linux行结尾标识不同造成的,在window中行结

11个审查Linux是否被入侵的方法

11个审查Linux是否被入侵的方法 一.检查系统日志 lastb命令 检查系统错误登陆日志,统计IP重试次数 二.检查系统用户 1.cat /etc/passwd 查看是否有异常的系统用户 2.grep "0" /etc/passwd 查看是否产生了新用户,UID和GID为0的用户 3.ls -l /etc/passwd 查看passwd的修改时间,判断是否在不知的情况下添加用户 4.查看是否存在特权用户 awk -F: '$3= =0 {print $1}' /etc/passwd

Linux下使用crontab命令以及Python脚本实现自动签到

关于这一部分, 我首先介绍下如何实现使用Python脚本实现签到功能其实,linux下有个命令叫做curl,完全可以完成模拟签到的功能,但是为了练习Python,我就用Python来写了.有这个想法完全是因为实验室的学长开发了一款App,上边收个起床签到,还有排名,为了能那个首签... 言归正传 首先,因为是手机上的App, 所以,我们需要抓包看下它具体的URL以及发送的内容是什么,关于这部分内容我就不在赘述了,我实现的功能主要有模拟发布状态和模拟签到两种功能,两个的URL也是不同的.为了不让学

在ubuntu linux 中编写一个自己的python脚本

在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pmpy为例(play music python),为了区别之前说的bash脚本添加了py后缀),来实现音乐的播放.注:本人ununut中安装了audacious,所以就以audacious为例,来实现音乐的播放. 第一步:进入一个目录,最好是自己特别选定的,如果用文件浏览器可以新建一个名为pmpy空白文档文件:如果是用终端可以输入命令:vi pmpy(可能会因为位置问题,需要添加sudo) 第二

linux+php+apache web调用python脚本权限问题解决方案

lamp : linux + apache + mysql + php 在上篇随笔中linux+php+apache调用python脚本时出现的问题的根本原因是:apache运行时使用的apache用户权限不够: 由此想到的解决方案是将apache改用root用户来执行,修改/etc/httpd/conf/httpd.conf,但结果是apache运行不起来,初步 判断是apache出于安全方面的考虑,不允许使用root用户运行(此判断是否正确有待验证). 具体解决方案(验证通过): 在sudo