Linux系统抓包工具tcpdump怎么用

发布时间:2022-01-26 10:43:10 作者:kk
来源:亿速云 阅读:202

今天给大家介绍一下Linux系统抓包工具tcpdump怎么用。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。

tcpdump是Linux系统中一个数据包解析工具,其主要用途就是为了监听服务器网卡来获取数据。

参数介绍

tcpdump命令的参数很多,详见如下

Linux系统抓包工具tcpdump怎么用

这里只介绍一些常用的参数

-c count

count表示数量。抓取数据包的数量达到count后结束命令,如果不使用-c 参数,会不停的抓取数据包,直到手动停止

-C file_size

抓取数据包保存到文件时,通过该命令指定文件的大小。文件达到指定大小后,会创建一个在原文件名称后面加上序号的新文件,如:dump.txt,dump.txt1。file_size的单位是b

-D

列出服务器所有网卡。tcpdump默认监听的是编号最小的那个网卡,一般是eth0。在进行抓包时可以通过 -i 参数指定监听的网卡,any表示监听所有网卡

-i interface

指定监听的网卡名称,any表示监听所有的网卡

-n

输出结果中,不把ip转换成主机名(默认显示的是主机名)

-q

快速输出,只输出简要的数据包信息

-r file

从文件中获取数据包,不再从网络获取数据包

-t

不输出时间戳

-w file

将抓取的数据包保存到文件,-r 参数可以从文件中读取数据包

-W filecount

指定文件的数量,当文件滚动到指定数量后会从第一个文件开始覆盖

除了以上参数,还有一些关键字可以用来进行条件过滤,常用关键字如下

-host

过滤主机,如 tcpdump host 192.168.1.110 只抓取经过这个ip的数据包

-src

用来过滤请求来源方的参数,如:tcpdump src host 192.168.1.110 只抓取从这个ip过来的数据包

-dst

用来过滤请求接收方的参数,如:tcpdump dst host 192.168.1.110 只抓取发送到这个ip的数据包

-port

过滤端口,如:tcpdump port 8080 只抓取经过8080端口的数据包

-net

过滤网络,如:tcpdump net 192.168 只抓取经过这个网段的数据包

-and、not、or

条件过滤,和字面意思一样。如:tcpdump net 192.168 and port 8080 抓取经过192.168网段并经过8080端口的数据包

数据包分析

抓取的数据包格式如下

Linux系统抓包工具tcpdump怎么用

20:17:43.496528

时间戳,时:分:秒.微秒

IP

网际网络协议的名称

180.101.49.12.http > iZbp14w0b2rs7i1400bjjmZ.42468180.101.49.12.http

请求发送方的ip和端口 > 请求接收方的ip和端口。端口有时会显示为某个网络协议,如http、ssh、mysql

Flags [R]

flag标识和状态,可选的状态有: [S.] [.] [P.] F.

seq、ack、fin

表示tcp协议的3次握手和4次挥手的过程。seq表示请求的序列号,ack是回答的序列号,fin表示完成。这里显示的序列号是相对值,-S参数可以显示绝对值

win

表示当前窗口的可用大小

length

表示报文体的长度,从长度可以简单分析是否正确接收了请求

通过以上结果只能做简单的分析,可以使用-w参数把数据包写入文件,文件中记录的数据包比命令行要详细的多。借助分析工具可以对文件进一步分析,这里推荐使用Wireshark,这个工具是开源的,开箱即用使用简单,这里不做详细介绍了

常用的命令组合

抓取8080端口的数据包

 tcpdump -i any port 8080

抓取从192.168.1.110发送到192.168.1.111的数据包

 tcpdump -i any src host 192.168.1.110 and dst host 192.168.1.111

抓取192.168网段除了192.168.1.110的请求的数据包

 tcpdump -i any src net 192.168 and 'src host not 192.168.1.110'

抓取8080端口的数据包并写入dump.log文件中

 tcpdump -i any port 8080 -w dump.log

注意事项

1.tcpdump需要用管理员权限运行,可以用sudo命令或者root用户

2.抓取的数据包通过length字段只能做一些简单的判断,想要详细分析,需要借助数据包分析工具,如:Wireshark

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

以上就是Linux系统抓包工具tcpdump怎么用的全部内容了,更多与Linux系统抓包工具tcpdump怎么用相关的内容可以搜索亿速云之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下亿速云!

推荐阅读:
  1. Linux网络抓包工具tcpdump的详细介绍
  2. Linux下抓包工具tcpdump怎么样

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux tcpdump

上一篇:Linux系统命令free的使用方法

下一篇:@Transactional注解怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》