curl+tcpdump抓包脚本一例

简介: 使用脚本访问网站获取http状态码,抓包排查问题

背景信息:

    某网站访问偶发性连接失败,时间点不一样,且不易复现,遂弄个脚本测试,如下
1. #!/bin/bash
2. tcpdump -i any host www.aliyun.com  and port 80 -s0 -G 60 -Z root -w %Y%m%d-%H%M%S.pcap &
3. while true;
4.     do
5.     code=$(curl --connect-timeout 5 -sL -w "%{http_code}" -X POST "www.aliyun.com" -o /dev/null)
6.     now=$(date "+%Y-%m-%d %H:%M:%S")
7.     echo $code $now >> ./result.txt
8.     dumppid=$(ps -ef|grep "tcpdump -i any"|grep pcap|awk '{print $2}')
9.     if [[ $code -ne 200 ]];then
10.     sleep 5s;
11.     kill -9 $dumppid
12.     break
13.     fi
14.     sleep 60s;
15.     done

注释:
1, #!/bin/bash是指此脚本使用/bin/bash来解释执行
2,tcpdump抓包,这里的host写的域名,大多数场景可以写ip+端口,且60秒转储一次抓包文件
5,设置code的变量,$()等同于``,优先执行的意思,里面的curl大概是设置5秒超时,只获取code,方法是使用POST ,
6,获取当前时间,精确到秒
7,将http_code以及时间写入当前目录的result.txt
8,获取tcpdump的pid,以备后面抓到后kill掉
9,判断code是否不等于200,
10,不等于200的话sleep 5s,
11,kill掉tcpdump进程,
12,结束这个循环

在server端抓包

tcpdump -i any host clientip  and port 80 -s0 -G 60 -Z root -w %Y%m%d-%H%M%S.pcap &

server端抓client ip的请求80的包,每60秒转储一个文件

备注:

    磁盘要备有充分的空间,以免空间满导致异常

扩展:

    判断code不等200的时候,可以去curl一个短信接口,触发短信通知就更美妙了
目录
相关文章
|
12月前
|
Linux
linux下用tcpdump抓包
linux下用tcpdump抓包
|
网络协议 算法 Linux
TCP 协议报文格式&tcpdump抓包工具
之前文章介绍过 wireshark 抓包工具的 捕获过滤器 和 显示过滤器,而 捕获过滤器 使用的 BPF 过滤语法可以在 tcpdump 中使用,tcpdump 可以在 Linux 服务端使用,熟悉和了解 tcpdump 抓包工具的使用,可以帮助分析服务端数据报文的情况。
240 0
|
20天前
|
Web App开发 网络协议 数据可视化
tcpdump 和 wireshark 抓包工具 ,介绍、安装、命令使用。 详解三次握手、四次挥手。两个结合使用,会更好分析报文
这篇文章详细介绍了网络抓包工具tcpdump和Wireshark的使用,包括安装、命令选项、过滤器语法,以及如何通过分析TCP的三次握手和四次挥手来理解网络通信细节。
111 1
|
3月前
tcpdump抓包命令详解
tcpdump抓包命令详解
|
4月前
|
运维 监控 网络协议
Linux抓包命令tcpdump使用技巧大全
【7月更文挑战第10天】
116 5
Linux抓包命令tcpdump使用技巧大全
|
6月前
|
运维 网络协议 Python
使用tcpdump和wireshark进行服务器抓包分析
使用tcpdump和wireshark进行服务器抓包分析
216 0
|
6月前
|
机器学习/深度学习 Linux
tcpdump的抓包
tcpdump的抓包
49 0
|
6月前
|
Ubuntu 网络协议 安全
Tcpdump 抓包分析指令使用方法
tcpdump是一个强大的网络数据包抓包分析工具,用于抓取数据包和分析网络流量。并以可阅读的格式展示,包括源和目标地址、端口、协议类型等信息。
242 0
|
机器学习/深度学习 监控 网络协议
浅谈 TCP 握手/数据传输/挥手过程以及 tcpdump 抓包工具使用
浅谈 TCP 握手/数据传输/挥手过程以及 tcpdump 抓包工具使用
289 0
|
Unix Linux
tcpdump 抓包工具的使用《openstack 网络》
tcpdump 抓包工具的使用《openstack 网络》
246 0