zhu*_*wei 9 mysql wireshark tshark
因为我们使用远程Mysql
服务器开发,所以不能轻易检查查询sql,如果使用本地服务器你可以tail - f general_log_file
在调用一些http接口时查看执行哪些sql.所以我安装了一个wireshark
来捕获这些查询从本地发送的sql.起初我使用本地mysql来验证它.
捕获过滤器是
然后我在mysql终端中执行了两个查询sql
select version();
select now();
Run Code Online (Sandbox Code Playgroud)
但非常令人失望我在wireshark中找不到这两个sql包 我只发现了这四个包.
但是从我知道的帖子中
要过滤掉mysql数据包,只需使用过滤器'mysql'或'mysql.query!=""',只需要请求查询的数据包.之后,您可以添加一个字段名称为"mysql.query"的自定义列,以获取执行位置的查询列表.
效果是这样的
只捕获查询sql很方便,并且非常清楚地显示了这些查询sql.那我怎么wireshark
用来实现呢?
你好@Jeff S.
我试过你的命令,请看下面
#terminal 1
tshark -i lo0 -Y "mysql.command==3"
Capturing on 'Loopback'
# terminal 2
mysql -h127.0.0.1 -u root -p
select version();
#result: nothing output in terminal 1
Run Code Online (Sandbox Code Playgroud)
和tshark -i lo0 -Y "mysql.command==3" -T fields -e mysql.query
一样的是tshark -i lo -Y "mysql.command==3"
也没什么输出.但如果我只使用tshark -i lo0
它,它有输出
Capturing on 'Loopback'
1 0.000000 127.0.0.1 -> 127.0.0.1 TCP 68 57881 ? 3306 [SYN] Seq=0 Win=65535 Len=0 MSS=16344 WS=32 TSval=1064967501 TSecr=0 SACK_PERM=1
2 0.000062 127.0.0.1 -> 127.0.0.1 TCP 68 3306 ? 57881 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=16344 WS=32 TSval=1064967501 TSecr=1064967501 SACK_PERM=1
3 0.000072 127.0.0.1 -> 127.0.0.1 TCP 56 57881 ? 3306 [ACK] Seq=1 Ack=1 Win=408288 Len=0 TSval=1064967501 TSecr=1064967501
4 0.000080 127.0.0.1 -> 127.0.0.1 TCP 56 [TCP Window Update] 3306 ? 57881 [ACK] Seq=1 Ack=1 Win=408288 Len=0 TSval=1064967501 TSecr=1064967501
...
Run Code Online (Sandbox Code Playgroud)
Jef*_* S. 7
您可以使用tshark并保存到pcap或只导出您感兴趣的字段.
要保存到pcap(如果您想使用wireshark稍后查看):
tshark -i lo -Y "mysql.command==3" -w outputfile.pcap
tshark -i lo -R "mysql.command==3" -w outputfile.pcap
-R is deprecated for single pass filters, but it will depend on your version
-i is interface so replace that with whatever interface you are using (e.g -i eth0)
Run Code Online (Sandbox Code Playgroud)
要保存到文本文件:
tshark -i lo -Y "mysql.command==3" -T fields -e mysql.query > output.txt
Run Code Online (Sandbox Code Playgroud)
您还可以将BPF过滤器与tcpdump(以及wireshark前置过滤器)一起使用.它们更复杂,但如果您捕获大量流量,则会减少对系统的负担.
sudo tcpdump -i lo "dst port 3306 and tcp[(((tcp[12:1]&0xf0)>>2)+4):1]=0x03" -w outputfile.pcap
Run Code Online (Sandbox Code Playgroud)
注意:
*这将在TCP有效负载中查找03(类似mysql.command == 3).
**由于这是一个相当宽松的过滤器,我还添加了3306以限制只发往该端口的流量.***过滤器基于您的屏幕截图.我现在无法验证它,所以让我知道它是否不起作用.
示例输出:
归档时间: |
|
查看次数: |
17151 次 |
最近记录: |
4 年,8 月 前 |
点石阅读罗克佳华甘姓起名字女名起个什么名字呢翡翠店 起名如月カレン农资有限公司起名的qq英雄岛官网中药材起名大全属鼠的今年多大科技公司3个字起名赵培辰公司起名五个字大全集儿童创意美术起名李峰张雪为主角名的小说法师起什么名字琴行起个什么名字好保安公司名字起名大全教学工作计划科举答题重生之风流三国小说双子女翡翠开店起名小孩子起名专家免费起男生英文名姓范的女孩起什么名字好家居用品店铺起名张三丰徒弟名字连起来一条狗的使命百度云澄海5.45地图下载锦衣之下小说歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运