`

shell脚本监控登录用户是否异常

 
阅读更多

1, 下载php

apt install php 或

yum install php

 

2. 用php命令来判断ip归属地

vi ip.php

<?php
$ip="192.168.1.109";
        $json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
        $arr=json_decode($json);
        echo $arr->data->country;
        echo $arr->data->area;
        echo $arr->data->region;
        echo $arr->data->city;
        echo $arr->data->isp;
?>

 测试: php ip.php

 

3.1 检测登录IP是否包含在文件normal_ip.txt中

#!/bin/bash
for i in `who | grep "(" | cut -d "(" -f 2 | cut -d ")" -f 1`
do
        count=`echo $i | grep "[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}" | wc -l`
        if [ $count -ne 1 ];then
                ip=`arp -a $i | cut -d "(" -f 2 | cut -d ")" -f 1`
        else
                ip=$i
        fi
        count=`grep $ip normal_ip.txt | wc -l`
        if [ $count -ne 1 ];then
                sudo sed -i '2s@^.*$@$ip="'$ip'";@' ip.php
                extremely_address=`sudo php ip.php`
                hostname=`hostname`
                echo "$ip异常登录$hostname主机,归属地:$extremely_address"
        fi
done

 

 

3.2 检测登录IP是否包含在文件normal_ip.txt中,并且判断IP是否属于内网或深圳市

#!/bin/bash
for i in `who | grep "(" | cut -d "(" -f 2 | cut -d ")" -f 1`
do
        count=`echo $i | grep "[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}" | wc -l`
        if [ $count -ne 1 ];then
                ip=`arp -a $i | cut -d "(" -f 2 | cut -d ")" -f 1`
        else
                ip=$i
        fi
        count=`grep $ip normal_ip.txt | wc -l`
        if [ $count -ne 1 ];then
                sudo sed -i '2s@^.*$@$ip="'$ip'";@' ip.php
                extremely_address=`sudo php ip.php`
                hostname=`hostname`
                count=`echo $extremely_address | grep 内网 | wc -l`
                count2=`echo $extremely_address | grep 深圳 | wc -l`
                if [ $count -eq 0 -a $count2 -eq 0];then
                        echo "$ip异常登录$hostname,归属地:$extremely_address"
                else
                        echo "$ip正常登录$hostname,归属地:$extremely_address"
                fi
        fi
done

 

 4. crontab 执行以上命令每分钟一次

分享到:
评论

相关推荐

    shell脚本监控rabbitmq异常发送邮件通知.rar

    标题"shell脚本监控rabbitmq异常发送邮件通知.rar"表明这个压缩包包含了一个用Shell编写的脚本,其主要功能是对RabbitMQ集群进行健康检查,并在发现异常时通过邮件通知管理员。这对于及时发现和解决问题至关重要,...

    shell脚本监控kafka-connect集群节点异常发送邮件通知.rar

    这个压缩包文件"shell脚本监控kafka-connect集群节点异常发送邮件通知"应该包含了这个完整的脚本以及相关的配置文件,用户只需根据自己的环境进行适当的修改即可投入使用。对于那些不熟悉shell脚本或者Kafka Connect...

    shell脚本监控zookeeper集群节点异常发送邮件通知.rar

    这个压缩包“shell脚本监控zookeeper集群节点异常发送邮件通知.rar”提供了一个解决方案,当Zookeeper集群中的节点出现异常时,能够自动向管理员发送邮件通知,以确保系统的稳定运行和快速响应问题。 首先,我们...

    Shell脚本日志关键字监控+告警.docx

    本文将详细介绍如何使用 Shell 脚本来监控 Linux 服务器日志,并在出现关键字异常时触发相应的动作或告警操作,通知到邮件联系人。 安装邮件服务 为了实现邮件告警功能,需要先安装邮件服务。可以使用 mailx 软件...

    shell脚本监控rocketmq集群节点异常通过mail465发送邮件通知管理员.zip

    这个名为"shell脚本监控rocketmq集群节点异常通过mail465发送邮件通知管理员"的压缩包文件,显然是一个用于监控RocketMQ集群并及时报警的解决方案。以下是关于这个主题的详细知识点: 1. **Shell脚本**:Shell脚本...

    shell脚本实现服务器进程监控的方法

    本文将深入探讨如何使用Shell脚本实现服务器进程监控,这不仅有助于及时发现异常情况,还能提高系统的可用性和稳定性。接下来,我们将根据提供的文件信息详细解释其原理、步骤以及实际应用。 #### 一、写作背景 在...

    shell脚本监控kafka集群节点异常发送邮件通知管理员脚本.rar

    通过shell脚本定时自动监控kafka集群节点是否正常运行,如果kafka异常关闭,马上邮件通知配置的单个或多个管理员。

    Shell脚本监控服务器状态

    在“Shell脚本监控服务器状态”这个主题中,我们主要探讨如何利用Shell脚本来获取和监控服务器的关键性能指标,如CPU、内存、磁盘和网络状况。下面将详细阐述这些知识点: 1. **CPU监控**:在Shell脚本中,我们可以...

    250个shell脚本

    Shell脚本是Linux/Unix操作系统中的强大工具,它允许用户编写一系列命令,形成自动化任务,以提高工作效率。本文档收集了250个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、安全防护、数据库备份等核心...

    18个Linux Shell脚本经典案例视频.zip

    18个Linux Shell脚本经典案例(1-18) 脚本 Dos攻击防范(自动屏蔽攻击IP) Linux系统发送告警脚本 MySQL数据库备份单循环 MySQL数据库备份多循环 nginx 访问访问日志按天切割 nginx nginx访问日志分析脚本 一键查看...

    常用shell 脚本,dos攻击防范,

    常用shell脚本, Dos攻击防范(自动屏蔽攻击IP).sh 一键部署等等 Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析...

    100个shell脚本合集

    10. 入侵与检测:结合日志分析和防火墙规则,shell脚本可以实现简单的入侵检测,比如通过检测异常登录、扫描行为等。 11. 端口扫描和正则匹配:在shell脚本中,可以使用nc或nmap工具进行端口扫描,再配合正则表达式...

    109个shell脚本合计

    Shell脚本是Linux/Unix操作系统中的强大工具,它允许用户编写一系列命令,形成自动化任务,以提高工作效率。本文档汇总了109个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、网络监控、数据库备份等。...

    shell脚本监控docker容器和supervisor 运行情况

    在IT领域,特别是系统管理和自动化...总的来说,通过Shell脚本监控Docker容器和Supervisor,我们可以实现对服务的实时监控,及时发现并解决问题,保证系统的稳定运行。这对于提高运维效率和保障业务连续性至关重要。

    shell脚本编程100例.doc

    Shell脚本编程是一种在Linux和Unix系统中广泛使用的编程方式,它允许用户通过编写脚本来自动化执行一系列系统命令。在本文中,我们将深入探讨几个关键的Shell脚本知识点,包括基本语法、变量、条件判断、循环、进程...

    shell脚本定时执行logstash任务异常mail465发邮件.rar

    结合这些元素,我们可以推测这个压缩包中的内容可能包括一个shell脚本文件,该脚本监控Logstash的日志,使用MySQL作为数据源或目标,通过Elasticsearch进行数据处理,当Logstash出现问题时,利用mail465通过SMTP发送...

    Linux shell 脚本攻略

    Linux Shell脚本是Linux操作系统中一种强大的自动化工具,它允许用户通过编写脚本来执行一系列命令,实现系统管理和任务自动化。本书《Linux Shell脚本攻略》(第2版)深入浅出地介绍了Shell脚本的编写技巧和实战...

    shell脚本自动监测系统cpu资源,异常彪高时,自动打印应用线程日志文件

    总的来说,这个shell脚本解决方案提供了一种自动化的方法来监控CPU资源,并在必要时进行问题排查,对于保障服务稳定性和优化系统性能具有重要意义。通过熟练掌握shell脚本,IT从业者可以构建更多实用的自动化工具,...

    linux下101个shell脚本

    在Linux操作系统中,Shell脚本是一种强大的工具,用于自动化日常任务、管理系统以及执行一系列命令。"Linux下101个shell脚本"是一份宝贵的资源,涵盖了从基础到高级的各种shell脚本示例,对于想要深入学习Linux ...

    elasticsearch集群节点监控脚本异常通过mail465发送邮件通知.rar

    最后,压缩包内的文件"elasticsearch集群节点监控脚本异常通过mail465发送邮件通知"很可能是实现这一功能的具体shell脚本代码。这个脚本应当包含了上述所有步骤,通过定期运行(例如使用cron job)来持续监控Elastic...

Global site tag (gtag.js) - Google Analytics