1 tcpdump 是什么?

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

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

2 tcpdump 常用命令参数

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

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

3 tcpdump 抓包wss,配合Wireshark分析

  1. //ip 瞎写的哈,脱敏
  2. 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)抓包命令

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

(2)访问下白度

  1. curl www.baidu.com

(3)Wireshark分析下抓的数据

5 tcpdump 其他一些用例

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

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

2 指定主机,ip 抓包

  1. 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. 网页中的一键加QQ群、唤起QQ群聊天窗口

    1.进入QQ群官网: https://qun.qq.com 2. 登陆QQ账号,点击加群组件 3. 左侧选择指定的群,右侧会给出一键加群的链接 4. 浏览器访问刚才复制的链接,点击 打开腾讯QQ 5. ...

  2. python封装函数到模块

    导入整个模块: import 模块名 导入特定函数: from module_name import function_name 通过逗号可以分割函数名,如果需要导入多个则 from a import ...

  3. Java数组问题:Array constants can only be used in initializers

    感谢大佬:https://www.cnblogs.com/fanerwei222/p/11491571.html 感谢大佬:https://blog.csdn.net/weixin_42591732/ ...

  4. centos安装php7.2

    目前php最高稳定版本是7.2,wordpress中也建议采用该版本. 若直接采用centos中的yum安装:sudo yum -y install php,版本是5.4,远远不够,因此我们要手动更新 ...

  5. go基础——goto语法

    package main import "fmt" func main() { a := 10 LOOP: for a < 20 { if a == 15 { a += 1 ...

  6. Flask初探之WSGI

    Flask是一个使用 Python 编写的轻量级 Web 应用框架.较其他同类型框架更为灵活.轻便.安全且容易上手.它可以很好地结合MVC模式进行开发,小型团队在短时间内就可以完成功能丰富的中小型网站 ...

  7. Scala中实现break与continue

    Scala是函数式编程语言,因此没有直接的break与continue关键字,要实现break与continue效果,需要绕一下. 需要导入包: import util.control.Breaks. ...

  8. Linux基础:VLAN篇

    一.二层基础知识 1.1 vlan介绍 本小节重点: vlan的含义 vlan的类型 交换机端口类型 vlan的不足 1.1.1 vlan的含义 局域网LAN的发展是VLAN产生的基础,因而先介绍一下 ...

  9. Solution -「LOJ #141」回文子串 ||「模板」双向 PAM

    \(\mathcal{Description}\)   Link.   给定字符串 \(s\),处理 \(q\) 次操作: 在 \(s\) 前添加字符串: 在 \(s\) 后添加字符串: 求 \(s\ ...

  10. python中time模块的调用及使用

    1 import time #通常import语句会写到代码的开头 2 3 print('------------------------') 4 print('------------------- ...