您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

使用tcpdump和wireshark分析tcp流

时间:2020-01-03 10:04:54  来源:  作者:

使用tcpdump和wireshark分析tcp流

使用tcpdump和wireshark分析tcp流

Tcpdump抓包

tcpdump -w packets.pcap -n -i eth0 tcp port 60 and dst host 10.22.47.66
  • -i: 指定网络接口
  • -n: 不做域名解析,使用ip
  • -w: 抓包存储为可供wireshark解析的pcap格式
  • tcp port 60 and dst host 10.22.47.66: 条件表达式

Tcpdump条件式

条件表达式语法可以参考: man pcap-filter,下面是一些常见的例子:

只抓udp的包:

tcpdump -i eth0 'udp'

只想查看源机器和目的机器的包:

tcpdump -i eth0 'dst 8.8.8.8'

只想查看目标机器端口是53或80的包:

tcpdump -i eth0 'dst port 53 or dst port 80'

抓到那些通过eth0网卡的,且来源是roclinux.cn服务器或者目标是roclinux.cn服务器的网络包:

tcpdump -i eth0 'host roclinux.cn'

抓通过eth0网卡的,且roclinux.cn和baidu.com之间通讯的网络包,或者,roclinux.cn和qiyi.com之间通讯的网络包:

tcpdump -i eth0 'host roclinux.cn and (baidu.com or qiyi.com)'

获取使用ftp端口和ftp数据端口的网络包:

tcpdump 'port ftp or ftp-data'

获取roclinux.cn和baidu.com之间建立TCP三次握手中第一个网络包,即带有SYN标记位的网络包,另外,目的主机不能是 qiyi.com:

tcpdump 'tcp[tcpflags] & tcp-syn != 0 and not dst host qiyi.com'

打印IP包长超过576字节的网络包:

tcpdump 'ip[2:2] > 576'

proto [ expr : size],只要掌握了这个语法格式,就能看懂上面的三个稀奇古怪的表达式了。

proto就是protocol的缩写,表示这里要指定的是某种协议的名称,比如ip、tcp、ether。其实proto这个位置,总共可以指定的协议类型有15个之多,包括:

  • ether – 链路层协议
  • fddi – 链路层协议
  • tr – 链路层协议
  • wlan – 链路层协议
  • ppp – 链路层协议
  • slip – 链路层协议
  • link – 链路层协议
  • ip
  • arp
  • rarp
  • tcp
  • udp
  • icmp
  • ip6
  • radio

expr用来指定数据报偏移量,表示从某个协议的数据报的第多少位开始提取内容,默认的起始位置是0;而size表示从偏移量的位置开始提取多少个字节,可以设置为1、2、4。 如果只设置了expr,而没有设置size,则默认提取1个字节。比如ip[2:2],就表示提取出第3、4个字节;而ip[0]则表示提取ip协议头的第一个字节。

在我们提取了特定内容之后,我们就需要设置我们的过滤条件了,我们可用的“比较操作符”包括:>,<,>=,<=,=,!=,总共有6个。

ip[0] & 0xf != 5

IP协议的第0-4位,表示IP版本号,可以是IPv4(值为0100)或者IPv6(0110);第5-8位表示首部长度,单位是“4字节”,如果首部长度为默认的20字节的话,此值应为5。

安装mac版Wireshark

Wireshark支持多种OS,包括windows, Mac和Linux,我在这里是使用的Mac版本。

$ brew search wireshark==> Formulaewireshark==> Caskswireshark  wireshark-chmodbpf$ brew cask install wireshark

Wireshark分析指定的tcp流

在过滤条件中填写tcp.flags.syn==1,或者tcp.flags.fin==1, 找到tcp连接的首包或者尾包,这样的tcp流会相对比较完整;

 

使用tcpdump和wireshark分析tcp流

 

在找到的包上点右键,选择Follow=>TCP Stream, 找到这条完整的tcp流:

使用tcpdump和wireshark分析tcp流

 


 


Tags:tcpdump   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
概述用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。tcpdump可以将网络中传送的数据包的“头”完全截...【详细内容】
2021-02-07  Tags: tcpdump  点击:(165)  评论:(0)  加入收藏
在调试网络通信程序是tcpdump是必备工具。tcpdump很强大,可以看到网络通信的每个细节。如TCP,可以看到3次握手,PUSH/ACK数据推送,close4次挥手,全部细节。包括每一次网络收包的...【详细内容】
2020-07-06  Tags: tcpdump  点击:(87)  评论:(0)  加入收藏
tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有。熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将通过...【详细内容】
2020-03-08  Tags: tcpdump  点击:(59)  评论:(0)  加入收藏
使用tcpdump和wireshark分析tcp流Tcpdump抓包tcpdump -w packets.pcap -n -i eth0 tcp port 60 and dst host 10.22.47.66 -i: 指定网络接口 -n: 不做域名解析,使用ip -w:...【详细内容】
2020-01-03  Tags: tcpdump  点击:(109)  评论:(0)  加入收藏
一、 tcpdump与Wireshark介绍 在网络问题的调试中,tcpdump应该说是一个必不可少的工具,和大部分linux下优秀工具一样,它的特点就是简单而强大。它是基于Unix系统的命令行式的数...【详细内容】
2019-10-15  Tags: tcpdump  点击:(162)  评论:(0)  加入收藏
tcpdump 是Linux系统下的一个强大的命令,可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来...【详细内容】
2019-08-06  Tags: tcpdump  点击:(218)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(2)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(10)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find &ndash;name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(20)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(16)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(15)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(24)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(30)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条