tcpdump以彩色显示抓取结果

Linux命令tcpdump是分析数据包的重要工具,但无法以彩色显示字段。

这里提供一个以绿色显示源IP,以黄色显示目标IP的脚本,这样能清晰地分辨出不同的数据包。

实验步骤:

  • A电脑运行WEB服务,编写彩色输出脚本,运行tcpdump
  • B电脑运行wget抓取A电脑的网页
  • A电脑抓取数据包并以彩色形式输出

第一步:确保A电脑WEB服务运行正常,可访问网页

第二步:A电脑编写彩色输出脚本color.sh

#!/bin/bash

# 使用 tput 设置颜色
green=$(tput setaf 2)
yellow=$(tput setaf 3)
reset=$(tput sgr0)
echo -n

# 直接从标准输入读取并处理每一行
while IFS= read -r line || [[ -n "$line" ]]; do

    # 检查行中是否包含 '>'
    if [[ "$line" == *">"* ]]; then

        # 找到源IP地址和目标IP地址
        src_ip=$(echo "$line" | awk '{print $3}' | cut -d':' -f1)
        dst_ip=$(echo "$line" | awk '{print $5}' | cut -d':' -f1)

        # 替换源IP地址为绿色
        line=$(echo "$line" | sed "s/\b$src_ip\b/${green}${src_ip}${reset}/g")

        # 替换目标IP地址为黄色
        line=$(echo "$line" | sed "s/\b$dst_ip\b/${yellow}${dst_ip}${reset}/g")
    fi

    # 打印处理后的行
    echo -e "$line"
done

第三步:A电脑给彩色输出脚本添加执行权限

chmod +x color.sh

第四步:A电脑运行tcpdump和彩色输出脚本

本例监听的网卡名称是enp11s0,依现场情况而定

tcpdump -i enp11s0 -nn port 80 and host 192.168.0.146|./color.sh

第五步:B电脑抓取A电脑的网页

运行2次wget命令:wget http://192.168.0.147/

第六步:A电脑以彩色输出抓取到的数据包

tcpdump -i enp11s0 -nn port 80 and host 192.168.0.146|./color.sh

注:B电脑第1次运行wget命令,A电脑无反应,第2次运行wget命令A电脑才会显示第1次的抓取结果,以此类推。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值