Shell脚本——流量探测(自动化运维)

这篇具有很好参考价值的文章主要介绍了Shell脚本——流量探测(自动化运维)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目的   自动 捕获指定IP或端口的流量生成日志,实现流量探测功能

准备   Root用户权限下才能运行tcpdump脚本

优势   Liunx系统自带,无需安装其他组件,捕获准确度高

缺点   不能同时检测多个IP流量,效率低

重点

        日志文件   touch  /home/node1/scripts/tcpdump.log

        脚本文件  touch  /home/node1/scripts/tcpdump.sh

#!/bin/bash

Server_ip=(192.168.0.61 192.168.0.62 192.168.0.63 ) #服务器ip
#Server_port=(80 90) #测试端口号
# 定义日志文件路径
log_file="/home/node1/scripts/tcpdump.log"
# 清空日志文件内容
>$log_file

echo "======== `date +"%Y-%m-%d %H:%M:%S"`========" >>$log_file

#当脚本意外停止运行,改变i值,从指定位置开始遍历ip
for ((i=0; i<${#Server_ip[@]}; i++)) 
do
a=${Server_ip[i]}
#b=${Server_port[i]}
  # 使用tcpdump命令监听指定网卡上与指定IP地址有关的数据包,并提取数据包的长度
  tcpdump_output=$(timeout --signal=9 60 tcpdump -i ens160 host $a 2>/dev/null)
  #tcpdump_output=$(timeout --signal=9 60 telnet $a $b 2>/dev/null)
  data_lengths=$(echo "$tcpdump_output" | grep "length" | awk '{print $NF}')

  # 统计数据包数量和总长度
  packet_count=$(echo "$data_lengths" | wc -l)
  total_length=$(echo "$data_lengths" | awk '{sum += $1} END {print sum}')
if [ $packet_count -ne 0 ];then
  if [ $total_length -ne 0 ];then
     echo "服务器$i $a $b流量长度$total_length" | tee -a "$log_file"
  else 
     echo "服务器$i $a $b流量长度为0" | tee -a "$log_file"
   fi
else  
    echo "服务器$i $a $b无流量" | tee -a "$log_file"
fi
done

重中重需要修改 $ (timeout --signal=9 60 tcpdump -i ens160 host $a 2>/dev/null)

                            每个IP探测时间为60秒,网卡为ens160

                            使用 ip addr 命令查看网卡及其状态文章来源地址https://www.toymoban.com/news/detail-586417.html

到了这里,关于Shell脚本——流量探测(自动化运维)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云计算的自动化与脚本:实现高效运维

    云计算是一种基于互联网和服务器集群的计算模式,它允许用户在需要时从任何地方访问计算资源。自动化和脚本在云计算中发挥着至关重要的作用,因为它们可以帮助管理员更高效地运行和维护云计算环境。在本文中,我们将探讨云计算自动化和脚本的核心概念、算法原理

    2024年04月12日
    浏览(36)
  • shell自动化脚本,启动、停止应用程序

    准确的讲/etc下的rc.local文件是rc.d文件中rc.local文件的软链接,找到rc.d下的rc.local文件,添加可执行选项。如果没有该文件可以自己创建。 要想你的脚本文件开机自启动还需要用到rc-local.service这个服务。

    2024年02月03日
    浏览(44)
  • ansible相比shell脚本自动化有什么优势

    Ansible自动化与Shell脚本自动化相比,具有以下几个显著的优势: 轻量级与无需代理 :Ansible的一个关键优势在于其轻量级和无需在被控制服务器上安装任何代理或客户端的特点。这极大地简化了部署和维护的流程,降低了复杂性和出错的可能性。而Shell脚本通常需要在每台服

    2024年04月25日
    浏览(35)
  • Shell脚本入门实战:探索自动化任务与实用场景

    引言 Shell脚本作为一种强大的自动化工具,在现代操作系统中具有广泛的应用。无论是简单的文件操作,还是复杂的系统管理,Shell脚本都能提供高效、快速的解决方案。在本文中,我们将探索Shell脚本的基础知识,并通过实战场景示例,一起深入了解Shell脚本编程。 1. Shell脚

    2024年02月02日
    浏览(33)
  • Liunx shell编程及自动化运维实现--第五章三剑客

    正则表达式(RE)是一种字符模式,用于再查找过程中匹配指定的字符,在大多数程序中,正则表达式都被置于两个正斜杠之间:例如//就是由正斜杠界定的正则表达式,他将匹配被查找的行中任何位置出现的相同模式。在正则表达式中,元字符时最重要的概念。 定义:元字

    2024年02月21日
    浏览(23)
  • DevOps自动化平台开发之 Shell脚本执行的封装

    基于如下技术栈开发DevOps平台 Spring Boot Shell Ansible Git Gitlab Docker K8S Vue  1、spring boot starter的封装使用 2、Shell脚本的编写 3、Ansible 脚本的编写 4、Docker 的使用与封装设计 本篇介绍如何使用Java封装Linux命令和Shell脚本的使用 将其设计成spring boot starter maven依赖pom文件 具体的封装

    2024年02月15日
    浏览(31)
  • 【Linux编程Shell自动化脚本】03 shell四剑客(find、sed、grep、awk)

    语法格式 参数说明 : path 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。 expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。 1. 常用expression 以下列出

    2024年02月09日
    浏览(40)
  • 简单的Shell脚本实现自动化构建部署-适合前后端分离的小网站

    大家在生活中经常会自己写一点小代码。然后部署在公有云的服务器上。但是一般像阿里,腾讯等服务商,提供的机器内存并不是很大。如果想装入一个jenkins之类的服务,会比较占用CPU和内存的资源。但是人手的部署又是比较麻烦的。所以我这里提供了一个思路,使用shell脚

    2023年04月16日
    浏览(56)
  • python-自动化篇-运维-网络-IP

    IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。 Python提供了一个强大的第三方模块IPy (https://g

    2024年02月19日
    浏览(36)
  • Python自动化运维实战——Telnetlib和Netmiko自动化管理网络设备

    ❤️ 博客主页 :  iknow181 🔥 系列专栏 :  Python 、 JavaSE 、 JavaWeb 、 CCNP 🎉 欢迎大家点赞👍收藏⭐评论✍ 目录 一、前言 二、准备工作 三、Telnetlib Telnetlib介绍 Telnetlib模块及操作方法介绍 Telnetlib配置设备 Telnetlib批量化部署多台设备 Telnetlib抓取设备配置 四、Netmiko Netmiko介

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包