Linux中tshark(wireshark)抓包工具使用方法详解linux操作系统 -电脑资料

tshark(wireshark)抓包工具是一个非常不错的linux中常用的工具,相比GUI工具可以实现一些自动化,譬如把某些关注的数据抓起下来存放到文本中,下面我们一起来看看tshark(wireshark)工具使用例子,

Linux中tshark(wireshark)抓包工具使用方法详解linux操作系统

在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析。

最近才发现,原来wireshark也提供有Linux命令行工具-tshark。tshark不仅有抓包的功能,还带了解析各种协议的能力。下面我们以两个实例来介绍tshark工具。

1、安装方法

代码如下复制代码CentOS: yum install -y wireshark

Ubuntu: apt-get install -y tshark

2、实时打印当前http请求的url(包括域名)

代码如下复制代码

tshark -s 512 -i eth0 -n -f 'tcp dst port 80' -R 'http.host and http.request.uri' -T fields -e http.host -e http.request.uri -l | tr -d '\t'

下面介绍参数含义:

-s 512 :只抓取前512个字节数据

-i eth0 :捕获eth0网卡

-n :禁止网络对象名称解析

-f 'tcp dst port 80' :只捕捉协议为tcp,目的端口为80的数据包

-R 'http.host and http.request.uri' :过滤出http.host和http.request.uri

-T fields -e http.host -e http.request.uri :打印http.host和http.request.uri

-l :输出到标准输出

3、实时打印当前mysql查询语句

tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query

下面介绍参数含义:

-s 512 :只抓取前512个字节数据

-i eth0 :捕获eth0网卡

-n :禁止网络对象名称解析

-f 'tcp dst port 3306' :只捕捉协议为tcp,目的端口为3306的数据包

-R 'mysql.query' :过滤出mysql.query

-T fields -e mysql.query :打印mysql查询语句

tshark使用-f来指定捕捉包过滤规则,规则与tcpdump一样,可以通过命令man pcap-filter来查得。

tshark使用-R来过滤已捕捉到的包,与界面板wireshark的左上角Filter一致。

例子

代码如下复制代码

std::string decodeHex(const std::string& strHex)

{

int nLen = strHex.length() / 2;

std::string strRet(nLen, 0);

for (int i = 0; i != nLen; ++i)

{

strRet[i] = ((strHex[2*i]>='a') ? (strHex[2*i]-'a'+10) : (strHex[2*i]-'0')) * 16;

strRet[i] += (strHex[2*i+1]>='a') ? (strHex[2*i+1]-'a'+10) : (strHex[2*i+1]-'0');

}

return strRet;

}

void cswuyg_test_tshark()

{

std::wstring strParam =L"\"C:\\Program Files\\Wireshark\\tshark.exe\" -i 1 -p -l -T pdml -f \"dst

port 80\" -R \"ip.addr==172.17.195.56\"";

FILE* stream = NULL;

errno_t err = _wfreopen_s(&stream, L"c:\\temp\\cswuyt_test.xml", L"w", stdout);

if (err != 0)

{

std::cout << "error" << std::endl;

}

HANDLE hStd = ::GetStdHandle(STD_OUTPUT_HANDLE);

//BOOL bSet = ::SetHandleInformation(hStd, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);

STARTUPINFO stStartInfo;

ZeroMemory(&stStartInfo, sizeof(STARTUPINFO));

stStartInfo.cb = sizeof(STARTUPINFO);

stStartInfo.hStdError = hStd;

stStartInfo.hStdOutput = hStd;

PROCESS_INFORMATION stProcInfo;

ZeroMemory(&stProcInfo, sizeof(PROCESS_INFORMATION));

BOOL bSuccess = ::CreateProcess(NULL, const_cast(strParam.c_str()), NULL, NULL, TRUE, 0, NULL, NULL, &stStartInfo, &stProcInfo);

::CloseHandle(stProcInfo.hProcess);

::CloseHandle(stProcInfo.hThread);

::fclose(stream);

}

上边的demo为抓取跟ip地址为172.17.195.56,端口为80(http默认端口)的机器的通信,tshark会提供包解析之后的xml数据,程序将其存储到文件,

电脑资料

《Linux中tshark(wireshark)抓包工具使用方法详解linux操作系统》()。注意部分数据是需要由hex字符串转换为真实字符串的,另外还可能会有需要gzip解压。

相关文章

一次局域网入侵全过程骇客基地 入门 -电脑资料

首先申明: 1.入侵的范围只包括局域网,如果在学校上,可以入侵整个校园网; 2.能入侵的只是存在弱口令(用户名为administrator等,密码为空),并且开了139端口,但没开防火墙的机子,一次...
资料大全2015-01-08
一次局域网入侵全过程骇客基地 入门 -电脑资料

关于牧笛的歌词

牧笛是刘德华的专辑《一只牛的异想世界》的一首歌。下面是小编整理的牧笛歌词,欢迎阅读。牧笛在一座遥远的重远山,有个是年少牛郎。他每天勤奋的牧牛羊,孤单是他最佳伙伴。有一天老青牛带他到清湖畔,仙女们三五沐...
资料大全2016-07-09
关于牧笛的歌词

分居协议书

协议人(男方): 协议人(女方): 协议人双方于 年 月 日登记结婚,育有一子/女,分居协议书范本。现双方协商一致,就自愿分居达成如下协议: 1、分居时间为二年,从 年 月 日到 年 月 日止。...
资料大全2011-05-05
分居协议书

语文词汇知识点整理:期的组词大全

抚期 负期 赴期 改期 更期 工期 瓜期 关期 归期 癸期 过期 何期后期 忽期 花期 化期 欢期 缓期 会期 婚期 活期 基期 及期 吉期即期 极期 集期 佳期 嘉期 假期 践期 节期 戒期 届期...
资料大全2015-07-07
语文词汇知识点整理:期的组词大全

9月份广州一定要去的景点

9月份广州有什么一定要去的景点——1:长隆国际马戏大剧院位于长隆旅游度假区内的长隆国际马戏大剧院是全球最大的专业马戏表演场,能同时接待800名观众。秉承荟萃全球马戏精华的理念,长隆国际马戏大剧院从最初...
资料大全2018-09-09
9月份广州一定要去的景点

人生完善自我

完善自我,这样,才能更好地在在自己的工作管理岗位上始终立不败之地,出色圆满的完成领导交给的任务 .何为成就人生:就是完美自己和自己的生活.圆润如一,完美如初,回归本性,才能超凡脱俗.一、何为完善自我:...
资料大全2011-04-09
人生完善自我