linux udp 端口 抓包,tcpdump之UDP抓包

摘要

使用tcpdump抓UDP包,过滤过滤IP和port,并且自动拆分片段。

安装tcpdump

yum install -y tcpdump

使用方法

tcpdump -i bond0 udp port xxxx and host xxx.x.xx.xxx -s0 -G 600 -w %Y_%m%d_%H%M_%S.pcap

参数说明

-i 指定监听的网卡

udp 监听UDP协议

port 指定过滤的端口

host 指定过滤的ip

-s *表示*从一个包中截取的字节数,*0表示*包不截断

-G 按照固定的时间间隔切割输出的文件(单位:秒)

-w 直接将包写入文件中,并不分析和打印出来;

取非运算是 ‘not ’ ‘! ‘,与运算是’and’,’&&;或运算 是’or’ ,‘||’

定时抓包(python)

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

#

# @author 张文兵

# @blog https://zhangwenbing.com/

# @datetime 2020-12-18 14:56:01

# @description

#

import os

import time

from apscheduler.schedulers.blocking import BlockingScheduler

def system(cmd):

t = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))

print('{} 执行 {}'.format(t, cmd))

stat = os.system(cmd)

if stat != 0:

print('{} 执行 {} 失败'.format(t, cmd))

scheduler = BlockingScheduler()

# 星期1-5的17点40分执行抓包任务

scheduler.add_job(system, 'cron', day_of_week="mon,tue,wed,thu,fri,sat",

hour=17, minute=30, args=['/sbin/tcpdump -i bond0 udp port xxxx and host xxx.x.xx.xxx -s0 -G 3600 -w /your_path/%Y_%m%d_%H%M_%S.pcap &>/dev/null'])

# 星期1-5的20点01分执行kill

scheduler.add_job(system, 'cron', day_of_week="mon,tue,wed,thu,fri,sat",

hour=20, minute=1, args=['pkill -9 tcpdump &>/dev/null'])

scheduler.start()

# 星期1-5的23点59分执行自动清理7天之前的抓包文件

scheduler.add_job(system, 'cron', day_of_week="mon,tue,wed,thu,fri,sat",

hour=23, minute=59, args=['/usr/bin/find /your_path/ -type f -ctime +7 -exec rm -f {} \; &>/dev/null'])

scheduler.start()

切分抓包文件

tcpdump -r old_file -w new_files -C 10

-r 指定需要切分的文件

-w 指定新的文件名前缀

-C 指定切分的文件大小(单位:M)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值