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

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

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

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

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

重点

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

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

python 复制代码
#!/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 命令查看网卡及其状态

相关推荐
Mr YiRan2 小时前
网络请求API监控与网络切换埋点
android·网络
VisionDataLab4 小时前
多SKU混产视觉换型瓶颈根治:免重教、免重调的德成嵌入式视觉配方架构与工程落地
自动化·视觉检测
鲸能云4 小时前
户用光伏电费自动划转系统实践:从人工对账到规模化结算的技术路径
自动化·资产管理·分布式光伏·户用光伏·电费结算
我要见SA姐15 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
Elastic 中国社区官方博客6 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
fengkai45457 小时前
八、Docker详解4-5
运维·docker
智恒百亿8 小时前
RTX 5090 八卡服务器 vs RTX PRO 6000 整机:AI 推理、微调与渲染选型部署指南
运维·服务器·rtx5090
本人手速666+8 小时前
企业微信二次开发为什么需要接口接入层?从 WeComApi 的工程价值说起
自动化·企业微信·ipad·企微外部群开发·企业微信二次开发
当下新鲜事8 小时前
车间实测记录:三菱电机MR-J5伺服与压力控制方案的场景适配
网络·物联网·业界资讯
门思科技9 小时前
开源网关有哪些:主流类型梳理
网络·python·物联网