tcpdump 与 抓包分析
在Windows下一般使用WireShark 抓包软件,tcpdump 是 Linux 系统的抓包软件。它可以抓取 TCP/IP 协议族的数据包,支持针对网络层、协议、主机、端口的过滤,并提供 and、or、not 等逻辑语句来过滤无用的信息。
root@h # tcpdump -h
tcpdump version 4.9.2
libpcap version 1.8.1
OpenSSL 1.1.1 11 Sep 2018
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
[ -Q in|out|inout ]
[ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
[ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
[ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
[ -Z user ] [ expression ]

常用的命令列表:
1.查看当前可用的的网口列表
tcpdump -D
2. 指定一个网口
tcpdump -i enp0s3
3. 指定一个网口和网段
tcpdump -i enp0s3 net 192.168.225
4. 指定监听报文,端口号,发送源,详细信息
tcpdump -nn -i enp0s3 tcp and src 192.168.225.5 and port 54620 -vv
5. 查看报文的所有数据
tcpdump -nn -i enp0s3 tcp and src 192.168.225.5 -e -XX -S -s 0 -vv
分析TCP报文:
07:18:19.872797 40:00:00:aa:00:60 > 3c:52:82:d7:1d:ef, ethertype IPv4 (0x0800), length 70: (tos 0x0, ttl 64, id 10141, offset 0, flags [DF], proto TCP (6), length 56)
192.168.225.5.49384 > 192.168.225.1.13411: Flags [P.], cksum 0x37c2 (correct), seq 402706124:402706140, ack 2009259232, win 229, length 16
源IP地址 目的IP地址
中括号表示 : [ IP 头] + {TCP头} +{TCP}
0x0000: [ 3c52 82d7 1def4000 00aa 0060 0800 4500 <R....@....`..E.
目的mac地址 源mac地址 报文类型 4:IPv4 5:IP头部长度
0x0010: 0038 279d ] { 4000 4006 cfca c0a8 e105 c0a8 .8'.@.@.........
总报文长度0x38 0x6:TCP
0x0020: e101 c0e8 3463 1800 cecc 77c2 dce0 5018 ....4c....w...P.
0x0030: 00e5 37c2 0000 } 0201 0100 0000 0000 0000 ..7.............
Data 开始的地方
0x0040: 0000 0000 0000
参考资料:
1、UDP头
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| | |
| Length | Checksum |
+--------+--------+--------+--------+
| |
| DATA ... |
+-----------------------------------+
2. TCP头

3. IP 头

tcpdump -nn -e -XX -S -s 0 -vv -w /free_emmc/file.pcap -i ravb0 udp and src 192.168.1.50
参考连接:
http://www.tcpdump.org/manpages/tcpdump.1.html
https://www.cnblogs.com/bakari/p/10748721.html
https://blog.csdn.net/qq_25453065/article/details/89786943
tcpdump 与 抓包分析的更多相关文章
- tcpdump+wireshark抓包分析
上一篇文章中,我们介绍了tcpdump如何抓包. tcpdump是命令行下便捷的抓包和分析工具,但使用方式不够友好, wireshark是带图形化界面的抓包和分析工具,操作简便,但需要主机有显示器. ...
- Wireshark和TcpDump抓包分析心得
Wireshark和 TcpDump抓包分析心得 1. Wireshark与tcpdump介绍 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Window ...
- TCP三次握手与Tcpdump抓包分析过程
一.TCP连接建立(三次握手) 过程 客户端A,服务器B,初始序号seq,确认号ack 初始状态:B处于监听状态,A处于打开状态 A -> B : seq = x (A向B发送连接请求报文段,A ...
- 转:tcpdump抓包分析(强烈推荐)
转自:https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666539134&idx=1&sn=5166f0aac71 ...
- Linux使用tcpdump命令抓包并使用wireshark分析
Linux使用tcpdump命令抓包并使用wireshark分析 介绍 有时分析客户端和服务器网络交互的问题时,为了查找问题,需要分别在客户端和服务器上抓包,我们的客户端一般是windows上的,抓包 ...
- 转 Wireshark和TcpDump抓包分析心得
1. Wireshark与tcpdump介绍 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话 ...
- Tcpdump命令抓包详细分析
1 起因 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况.这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了.在排查问 ...
- 聊聊tcpdump与Wireshark抓包分析
1 起因# 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况.这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了.在排查 ...
- tcpdump安装配置及抓包分析
http://blog.csdn.net/e421083458/article/details/23963189 cpdump安装配置及抓包分析 预装软件:[plain] view plain cop ...
随机推荐
- rabbitmq 从channal获得socket
std::string queue_name = "hello100"; AmqpClient::Channel::ptr_t channel = AmqpClient::Chan ...
- HTML基础:<a>标签 编写个人收藏夹
编写个人收藏夹 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- canvas 绘制二次贝塞尔曲线
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 16_3.jdk动态代理与aop
jdk动态代理: public interface Subject { void say(String name,int age); } public class RealSubject implem ...
- FreeBSD虚拟机——小折腾
最近,突然想起来Linux了,因为前段时间接触了DOS命令,提高了自己的工作效率,这会想再温习下Linux的CLI,无奈windows下unix命令,水土不服,因此想尝试虚拟机,虚拟机软件无非vmwa ...
- js中require()的用法----JS如何连接数据库执行sql语句或者建立数据库连接池
var vue = require('vue'); 引入vue的意思,commonjs的写法.node都是用require来载入模块的,可以看看webpack+vue. require()可以调用模块 ...
- spring Boot 简单的登录功能,利用了jdbcTemplate.class完成sql语句的执行,无需service层、dao层和.xml文件
1.搭建SpringBoot项目首先我们先在IDEA上创建一个SpringBoot的Web项目(1)file ——> new ——> project——> Spring Initia ...
- Oracle11g新建用户及用户表空间
/* 建立数据表空间 */CREATE TABLESPACE SP_TAB DATAFILE '/u01/app/oracle/oradata/orcl/tab1_1.dbf' size 1024M ...
- LeetCode算法题
1.给两个整数数组 A 和 B ,返回两个数组中公共的.长度最长的子数组的长度. 时间复杂度待优化 class Solution { public int findLength(int[] A, in ...
- Python爬虫之抓取豆瓣影评数据
脚本功能: 1.访问豆瓣最受欢迎影评页面(http://movie.douban.com/review/best/?start=0),抓取所有影评数据中的标题.作者.影片以及影评信息 2.将抓取的信息 ...