1 tcpdump 是什么?

tcpdump 可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、端口的过滤,并提供and、or、not等逻辑语句来帮助你过滤掉不关注的信息。

通常用 tcpdump 抓包数据输出到文件(如在 linux 服务器上抓包数据),把文件下载拖到工作电脑 Wireshark 软件上配合分析(Wireshark 使用自行白度,也可以使用 wireshark 直接抓包分析)。

2 tcpdump 常用命令参数

还有非常多的参数,只简单备注一些常用的

  • -i<网络界面> 使用指定的网络截面送出数据包。
  • -w<数据包文件> 把数据包数据写入指定的文件。
  • -v 详细显示指令执行过程。
  • -n 不把主机的网络地址转换成名字。

3 tcpdump 抓包wss,配合Wireshark分析

//ip 瞎写的哈,脱敏
tcpdump -i en0 '((src or dst host 163.235.251.6) or (src or dst host 163.235.251.7) or (src or dst host 163.235.251.8))' -w wss-log.cap
  • (1)eth0 是网卡,可以通过 ifconfig 查看你的网卡。
  • (2)((src or dst host 163.235.251.6) or (src or dst host 163.235.251.7) or (src or dst host 163.235.251.8)) 这一段表示,一次监听抓取多个远端的主机地址,src or dst 可以把交互都抓出来,就是从这台发出来的,到这台回复的都可以抓出来,可以看到 TCP 完整的握手挥手过程。
  • (3)-w wss-log.cap 这个是把抓取的日志,写到 wss-log.cap,文件名以.cap 结尾。
  • (4)工作电脑下载 Wireshark 并打开,把上面的文件 wss-log.cap 拖到 Wireshark 界面即可看到协议交互过程。
  • (5)下面是一次 wss 的抓包(websocket+TLS),图片信息做脱敏处理。

4 tcpdump 抓包白度,配合Wireshark分析)

(1)抓包命令

tcpdump -i  en0  'src or dst   host www.baidu.com' -w baidu.cap

(2)访问下白度

curl www.baidu.com

(3)Wireshark分析下抓的数据

5 tcpdump 其他一些用例

1 抓取经过指定端口的数据包,不指定网卡

tcpdump -vn -i  any  port 7280  -w tcptemp.cap
  • (1)-i interface 指定 tcpdump 需要监听的接口,'any' 这个虚拟网络接口可被用来接收所有网络接口上的数据包。
  • (2)-v 当分析和打印的时候,产生详细的输出。比如包的生存时间,标识,总长度以及 IP 包的一些选项。这也会打开一些附加的包完整性检测,比如对IP或ICMP包头部的校验和。
  • (3)-n 不对地址(比如主机地址,端口号)进行数字表示到名字表示的转换。

2 指定主机,ip 抓包

tcpdump tcp port 23 and host 163.235.251.6

6 小结

tcpdump 可以将网络中传送的数据包完全截获下来提供分析。通常用 tcpdump 抓包数据输出到文件(如在 linux 服务器上抓包数据),把文件下载拖到工作电脑 Wireshark 软件上配合分析。本文记录了最简单的一些 case 使用,起到抛砖引玉的作用。

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

019 Linux tcpdump 抓包案例入门可真简单啊?的更多相关文章

  1. [linux] tcpdump抓包案例

    1.常见参数 tcpdump -i eth0 -nn -s0 -v port 80 -i 选择监控的网卡 -nn 不解析主机名和端口号,捕获大量数据,名称解析会降低解析速度 -s0 捕获长度无限制 - ...

  2. linux tcpdump 抓包

    tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  3. linux tcpdump抓包,wireshark实时解析

    转自: http://www.freebuf.com/articles/wireless/6517.html   由于CentOS7上yum安装的wireshark对CoAP的解析支持不太完善,而我w ...

  4. linux tcpdump抓包

    tcpdump 默认抓取第一个网卡的所有数据包 tcpdump -i eth0 指定网卡 tcpdump host 10.10.10.10 指定主机名或ip地址 tcpdump host 10.10. ...

  5. linux tcpdump抓包Post请求

    tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)' -w f ...

  6. linux使用tcpdump抓包工具抓取网络数据包,多示例演示

    tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  7. Linux下面如何用tcpdump抓包

    很多时候我们的系统部署在Linux系统上面,在一些情况下定位问题就需要查看各个系统之间发送数据报文是否正常,下面我就简单讲解一下如何使用tcpdump抓包 tcpdump是Linux下面的一个开源的抓 ...

  8. Linux系统诊断必备技能之二:tcpdump抓包工具详解

    一.简述 TcpDump可以将网络中传送的数据包完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. Linux作为网络服 ...

  9. linux下抓包学习--tcpdump的使用

    一.为什么需要学这个 很多时候,开发环境上不会出现问题.但在测试或者现场时,总是会有很多莫名其妙的问题. 这时候,能在出问题的环境上,开启抓包,然后再去重现问题的话,这时候,就可以拿到第一手的资料了. ...

随机推荐

  1. JavaScript之 函数节流(Throttling) 与 防抖(Debounce)

    Throttling:在监听鼠标移动事件.盒子滚动事件等使用节流技术能节省性能消耗 /** * 节流函数(每隔t执行一次) */ function Throttling(fn, t) { const ...

  2. 常见线程池之 newCacheThreadPool 缓存线程池 简单使用

    package com.aaa.threaddemo; import java.util.concurrent.BlockingQueue; import java.util.concurrent.E ...

  3. LeetCode.241

    241. 为运算表达式设计优先级 题目大意 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果.你需要给出所有可能的组合的结果.有效的运算符号包含 + - * 思路: ...

  4. js源码-自定义数组的pop和shift方法

    本文将自定义_pop和_shift来模拟数组的pop和shift方法 _pop: /* *js中数组的pop方法:删除数组的最后一个元素,把数组的长度减1,并且返回删除的这个元素:如果数组为空,则po ...

  5. 求Fibonacci数列通项公式

    0. Intro \[f_n=\begin{cases} 0 & (n=0) \\ 1 & (n=1) \\ f_{n-1}+f_{n-2} & (n>1) \end{c ...

  6. 关于C++ scanf的一个小知识

    关于C++的scanf,其实在使用时有一个注意的点. 我们来看一个简单的例子. 对于输入的一行,如果这一行的开头需要输入一个字符,例如这样的输入: A 10 20 B 30 A 3 50 ... 我们 ...

  7. Angular中$broadcast和$emit的使用方法

    要在控制器之间传递变量变化需要使用angular中的$broadcast和$emit方法来传递,同时使用$on来接收事件并作出响应. broadcast译为广播,即上级传递下级. 示例代码: < ...

  8. bom案例4-模拟滚动条

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. git命令log与reflog的比较

    感谢原文作者:杨鲜生 原文链接:https://blog.csdn.net/u013252047/article/details/80230781 用git命令,想看到自己的操作记录,则可以使用log ...

  10. SharedPreferences介绍

    sharedPreferences是通过xml文件来做数据存储的.         一般用来存放一些标记性的数据,一些设置信息.        使用sharedPreferences存储数据      ...