如何收集末端局域网内7天的流量包的思路与实现

目录

一、前言

二、思路与解决方案

三、查看流量


一、前言

最近天真热阿,已经喝了3次茶了。大家想必都知道设备若想上网需要一个公网ip,但ipv4的公网ip早就耗尽了。后来研发出了可变长子网划分(VLSM)和NAT(NAT中有一种在现网应用特别广泛的技术叫网络地址端口转换(NAPT))这些技术的出现使ipv4能存活到至今,否则恐怕网都上不了或者ipv6早把它取代了。进入正题,有一天客户查到某办公室出现了违规外联的行为,先科普一下:违规外联通俗来讲,就是计算机未经允许或未遵循安全规范,私自接入互联网或其他非授权网络。这种行为可能发生在内网计算机上,也可能涉及移动存储介质在不同网络间的违规使用。客户只能定位到某个办公室的网络,因为这个地址是源地址NAT之后的地址。所以办公室每个人都有嫌疑,客户只好把重任托付于我,希望我能查清此事。局域网末端一般都是接入层交换机或者家用路由器,傻瓜交换机这些低级设备,想查清此事可谓是困难重重。相信这也是网络安全层面的一个痛点,就是如何查清nat后面的网络。就好像名侦探柯南剧情里的房间内的每个人都有嫌疑。

二、思路与解决方案

何为天眼就是上帝视角,有一段时间特别痴迷于科来的全流量分析系统,奈何手头不那么宽裕,看看家里还有什么废物可以利用起来。正在我愁眉不展之际,角落里的一个盒子引起了我的注意,openwrt软路由,这是个好东西,不占空间,运行稳定。拿来救急太合适了。说干就干,准备把它拿来魔改成一台流量收集装置。很久不用,先倒腾一下IP,看看设备状态。准备部署tcpdump+定时任务+流量备份及清理方案,还有挂一个磁盘上去用于存储收集到的流量。

遇到的问题

1.openwrt软件源更新。先弄清楚版本号和架构。路径一般在 /etc/opkg/distfeeds.conf  

2.更新源签名错误问题  有两种解决方案A:/etc/opkg.conf 在这个配置文件下把校验那个配置注释掉 B:/etc/opkg/customfeeds.conf   在这个文件下自定义仓库配置文件

3.安装好tcpdump 后,就是编写一个收集流量的逻辑,最后转化成脚本。思路是周一到周五9点到11点,下午2点到5点每个整点去运行一次脚本,每个脚本收集一个小时的流量。保留最近7天的流量,所有流量按日期+小时命名。

脚本说明:

流量收集   start_TcpDump.sh

#!/bin/bash

#查找tcpdump的PID进程
PIDFILE="`ps -ef | grep tcpdump | egrep -v grep | awk '{print }'`"
sleep 3
#检查并杀死旧的tcpdump进程,未检测到就继续执行
if [ -z "$PIDFILE" ] ;then
	echo "未检测到已存在的tcpdump进程"
else
	kill -9 $PIDFILE > /dev/null 2>&1
	sleep 1
fi

#生成文件名
filename=$(date +"%Y%m%d_%H.pcap")
#以后台运行的方式启动tcpdump
echo "Starting tcpdump for $filename"
#指定网卡名为br-lan进行流量抓取并保存名为/mnt/sda/CapturePackage/$filename的数据包
tcpdump -i br-lan -w /mnt/sda/CapturePackage/$filename &

 结束任务并清理超过7天的流量    delete_7dayago.sh

#!/bin/bash
#停止继续抓包,并杀死进程
kill -9 `ps -ef | grep tcpdump | egrep -v grep | awk '{print $1}'`
#删除7天前的流量抓包文件
find /mnt/sda/CapturePackage -type f -mtime +7 -name "*.pcap" -exec rm -rf {} \;

配置定时任务  crontab -e  (保证用户具备可执行脚本的权限)

0 9-11,14-17 * * 1-5 sh /root/TcpDump_system_script/start_TcpDump.sh
5 18 * * 1-5 sh /root/TcpDump_system_script/delete_7dayago.sh

重启定时任务  /etc/init.d/cron restart  并等上一会,有时不会立刻生效。需要等一等

三、查看流量

收集的流量包截图

通过SFTP协议把文件传到windows上用wireshark打开

在分析数据包前流量筛选的表达式就不展开了,推荐一个wireshark 总览数据流量的技巧

这样看流量是不是特别清晰,很快就能得到抓取的流量中IPV4的流量占了70%,IPV6的流量占了27%。其中IPV4的流量UDP的占了31.2%,TCP的流量占了35.5%。后面的故事就靠这玩意了,等抓到神秘人或者有趣的流量后再出一期分析的。原创不易,点赞,关注,收藏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值