首页 > 系统相关 >tcpdump+wireshark抓包分析

tcpdump+wireshark抓包分析

时间:2024-01-16 12:11:40浏览次数:19  
标签:ip tcp 过滤 数据包 tcpdump port 抓包 wireshark

目录

tcpdump是linux下的一个命令行抓包工具
wireshark配备了图形化界面,所以建议是
tcpdump抓包生成.pcap文件放到wireshark里面进行分析

tcpdump核心参数详解

tcpdump的参数是如何构成的:

  1. option可选参数
  2. proto类过滤器:主要是根据协议进行过滤,可识别参数有:tcp udp ip ip6 icmp arp wlan ether
  3. type类过滤器:过滤特殊端口,ip,网段:可识别的关键字有:host net port portrange
  4. direction类过滤器:根据数据流向进行过滤,可识别的关键字:src dst 也可以使用逻辑运算符比如:src or dst

tcpdump的输出

理解输出结构

21:26:49.013621 IP 172.20.20.1.15605 > 172.20.20.2.5920: Flags [P.], seq 49:97, ack 106048, win 4723, length 48

这是一个简单的tcp抓包

  1. 时间戳
  2. 网络协议ip
  3. 发送方ip+端口
  4. >代表数据流向
  5. 发送端ip+端口
  6. 冒号:后跟数据包内容包括flag标识符[P.]代表PUSH标志位为1,seq号,ack号,窗口大小win,数据包长度length

flag标识符

tcp报文的flag有如下几种

  1. [P] PUSH 推送数据
  2. [S] SYN 开始连接
  3. [F] FIN 结束连接
  4. [R] RST 重置连接
  5. [.] 没有flag标志位

常规过滤规则

基于IP地址过滤

使用host进行指定IP地址进行过滤,可以是发送端也可以是接收端
tcpdump host 192.168.10.100
指定捕获和192.168.10.100相关的数据包

如果要细化是发送端还是接收端,可以使用src和dst参数

# 根据源ip进行过滤
$ tcpdump src 192.168.10.100

# 根据目标ip进行过滤
$ tcpdump dst 192.168.10.200

基于网段过滤

如果ip范围是一个网段,可以这样指定

tcpdump net 192.168.10.0/24

同样可以使用src dst来指定发送或接受

基于端口过滤

使用port关键字进行端口过滤

tcpdump port 80

如果想要抓两个端口可以这样写

tcpdump port 80 or port 8080
//或是简写成这样
tcpdump port 80 or 8080

如果要抓取一个范围,可以使用portrange

tcpdump portrange 80-8080

对于一些常见协议的默认端口,可以直接使用协议名
比如http=80 https=443

tcpdump port http or https

基于协议进行过滤

常见的网络协议有:tcp, udp, icmp, http, ip,ipv6 等

tcpdump tcp

可选参数解析

不解析域名提升速度

  1. -n 不把ip转化为域名,避免了dns的过程,会快很多
  2. -nn 不把协议和端口号转化为域名,也会更快
  3. -N 不打印出host 的域名部分,例如使用端口号 80 的数据包将显示为 ... 80 > ...,而不是 ... http > ...

结果输出到文件

使用tcpdump抓包之后,需要用其他的工具进行分析,比如wireshark

使用-w参数后接一个以.pcap为后缀的文件名,可将tcpdump抓取的数据保存到文件中

tcpdump tcp -w tcp.pcap

从文件中读取数据

同样也可以进行文件中的过滤分析

tcpdump icmp or tcp -r 1.pcap

指定抓取个数

-c指定抓包个数
tcpdump tcp -c 5
抓取5个tcp的数据包

指定设备口

-i指定设备口

tcpdump -i eth0   # 指定使用 eth0 接口进行数据包捕获
tcpdump -i wlan0  # 指定使用 wlan0 接口进行数据包捕获
tcpdump -i 1      # 使用接口编号为 1 进行数据包捕获

过滤规则组合

运算规则和C中一致
and &&
or ||
not !

举个例子,我想需要抓一个来自10.5.2.3,发往任意主机的3389端口的包
tcpdump src 10.5.2.3 and dst port 3389

需要多个表达式组合时,可能需要括号,由于括号在shell中是特殊符号,需要用引号将其包含起来
tcpdump 'src 10.0.2.4 and (dst port 3389 or 22)'

标签:ip,tcp,过滤,数据包,tcpdump,port,抓包,wireshark
From: https://www.cnblogs.com/liviayu/p/17967388

相关文章

  • tcpdump
    目录简介步骤1:安装tcpdump步骤2:捕获数据包步骤3:过滤和分析数据包步骤4:将捕获结果写入文件步骤5:查看捕获结果常用参数使用场景简介tcpdump是一个命令行实用程序,允许您捕获和分析通过系统的网络流量。它通常用于帮助排除网络问题,以及作为安全工具。以下是使用tcpdump的基本步骤:......
  • Wireshark与恶意流量
    sqlmap流量特征1、过滤http后发现有大量类似的sql注入语句,并且时间接近2、http协议的user-agent字段中会出现sqlmap的网址 3、使用过滤语句http.user_agentcontainssqlmap可以过滤出所有的sqlmap语句4、GET请求中的url字段会出现select、information_schema、table、fr......
  • 16.TcpDump 与 WireShark 的使用
    协议分析工具 网络监听:TcpDump+WireShark代理Proxy推荐工具:手工测试charles[全平台]、安全测试burpsuite[全平台java]自动化测试:mitmproxy其他代理:fiddler[仅windows]、AnyProxy[全平台]协议客户端工具:curl、postmantcpdump 参数:-x十六进......
  • 10.App 抓包实战练习
    目录 抓包原理常用应用场景接口抓包分析实战抓包原理 常用应用场景 解决移动端接口测试解决接口测试过程中检查传参错误问题mock测试接口抓包分析实战 抓取接口数据Overview:接口的大体情况Content:请求信息和响应信息上半部分:请求,请......
  • 08.抓包工具 Fiddler
    目录 工具介绍界面简介抓取HTTP请求抓取HTTPS请求抓取移动端请求查看接口信息AutoResponder断点弱网工具介绍 官网:https://www.telerik.com/fiddler/fiddler-classicFiddler是位于客户端和服务器端的HTTP代理也是目前最常用的HTTP抓包工具之......
  • 使用tcpdump抓取网络包,在wareshark查看对应请求及响应的最终报文
    tcpdump是Linux环境的抓包工具,可以使用此工具抓取指定host的所有网络包,在wareshark工具中进行查看。tcpdumphost  [IP或域名]   -w [文件名]示例如下:1、执行命令,抓取server端对webxml.com.cn站点的网络报文;2、在server端执行对webxml的SOAP请求;3、ctrl+c 终止抓取;4......
  • 小黄鸟绕过app检测代理抓包
    最近需要抓包一个安卓软件,但是该软件有检测,只要检测到代理网络,就执行不访问网络操作。所以经过百度找到了下面这个方法解决:ps:如果你的手机已经root就可以忽略这一步。如果手机没有root,我们需要用到vmos虚拟机软件。下载地址:https://wwxk.lanzouj.com/i77pA1jaey2b  把超......
  • HTTP-FLV协议 抓包分析详解
    实现实际就是利用了HTTP的分块传输,发送FLV数据,服务器无法知道流长度,所以不会填写Content-Length字段而是携带Transfer-Encoding:chunked字段,这样客户端就会一直接受数据了。分块传输编码规则下面我们来看一下分块传输的编码规则,其实也很简单,同样采用了明文的方式,很类似响应头。每......
  • wireshark 捕获 C# 上传的图片
    如何通过wireshark捕获C#上传的图片 一:背景1.讲故事这些天计划好好研究下tcp/ip,以及socket套接字,毕竟工控中设计到各种交互协议,如果只是模模糊糊的了解,对分析此类dump还是非常不利的,而研究协议最好的入手点就是用抓包工具wireshark,废话不多说,这篇通过wireshark提取......
  • 抓包工具charles修改请求和返回数据
    数据篡改的主要使用场景:(1)mock场景,mock入参和返回值参数,实现mock测试(2)安全测试,对于支付金额等比较重要的字段,可以修改请求参数来进行安全测试1.首先选择要篡改数据的接口,点击右键选择功能列表中的breakpoints。2.清空请求列表3.在终端重新发起请求,请求将会被拦截,会弹出当前......