tcpdump

2020-08-03 分类:Linux 作者:admin 阅读(24)

linux网络接口介绍

1.网络接口的命名

这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的。例如:

eth0: ethernet的简写,一般用于以太网接口。

wifi0:wifi是无线局域网,因此wifi0一般指无线网络接口。

ath0: Atheros的简写,一般指Atheros芯片所包含的无线网络接口。

lo: local的简写,一般指本地环回接口。

lo接口的作用

本地一个进程发起连接,到一个本地的daemon监听的内网IP地址(eth1: 10.1.1.1)的端口(8085),此时在eth1上是抓不到包的,在 lo 上抓到,说明使用的是本地回环接口lo,而网络层的IP地址则是内网IP地址.

lo其实是一个系统虚拟的环回接口,它的IP地址是127.0.0.1,利用这个接口可以实现系统内部发送和接收数据,所以一般情况下我们使用:ping 127.0.0.1 是可以ping通的,因为这其实就是系统内部建立连接。

127.0.0.1,通常被称为本地回环地址(Loop back address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。通常在不安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。

其主要作用有两个:

  • 一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;
  • 另一个作用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资

    tcpdump是一个最基本重要的网络分析工具, 掌握好这, 对于学习tcp/ip协议也是很有帮助的. 理解了tcp/ip协议栈的知识, 分析调优网络的能力才会更高. 所以使用tcpdump相比其它的工具, 更能帮我们理解协议.

  • -n不要转换一些数值, 比如把80端口转换成http显示.
  • -i需要监控的网卡. 如果不指定, 则监控所有有效的网卡数据.
  • -c抓取多少个包后自动停止抓取
  • -s默认是只抓取96bytes的数据, 如果想要抓取更多的数据, 则要通过这指定更大的数值. 比如-s 1500抓取1500byte,设置为0就是不限制。
  • -S默认每个包的sequence是显示相对的值, 如果想显示绝对值, 通过此选项打开.
  • -D:列出可用于抓包的接口。将会列出接口的数值编号和接口名,它们都可以用于"-i"后。
  • -A 数据包的内容以 ASCII 显示,通常用来捉取WWW的网页数据包资料
    -X 数据包内容以十六进制 (hex)和ASCII显示,对于监听数据包内容很有用
    -XX 比-X输出更详细
过滤表达式

我们抓包时, 一般是有针对性的去关注感兴趣的东西, 不然太多的信息会对我们分析数据造成干扰, tcpdump支持过滤语法.

 

host指定主机, 可以是ip或者域名.

上面的功能是抓取本机网卡wlan0上和www.baidu.com这个主机打交道的数据. 其中-s0指定抓取所有数据, 查考前面选项介绍.

dst, src

有时候我们只关心数据流其中一个方向上的数据, 可以通过src: 源端, dst:目的端来指定过滤.


port

指定端口

抓取redis的数据.

协议

指定协议数据, 比如: tcp, udp, icmp


范例:

# 源主机是192.168.1.34, 并且目标端口是80

tcpdump -i eth0 src 192.168.1.34 and dst port 80

# 所有tcp协议并且端口不是22

tcpdump -i eth0 tcp and not port 22

# 源主机是192.168.1.34并且目标端口是22或者3389

tcpdump -i eth0 'src 192.168.1.34 and (dst port 22 or 3389)'

# 抓取带有SYN标志的数据, tcp[13]的意思是从tcp数据包头中取第14个byte数据, 详细参考tcp协议头

sudo tcpdump -i wlan0 'host www.baidu.com and tcp[13]&2!=0'


一般在服务器上截取到数据包后, 用于之后的分析, 比如传到本地机器后用wireshark分析. 可以通过-w选项保存:

来源:https://www.cnblogs.com/jcli/p/4248145.html

https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html


常用命令:

这个命令的含义是使用 tcpdump 工具来捕获通过网络接口 eth0 发出的所有端口为 80 的 TCP 流量,这些流量是服务器向外发起的请求(出站连接)。让我解释一下命令中的各个部分:

  • tcpdump: 这是一个网络抓包工具,用于捕获网络数据包并进行分析。
  • -i eth0: 这部分指定了要监听的网络接口,即 eth0。在 Linux 系统中,网络接口通常以 ethX 的形式命名,其中 X 是一个数字,表示不同的网络接口。
  • 'tcp port 80 and outbound': 这是过滤规则,指定了要捕获的数据包的特定条件。在这里,它表示捕获目标端口为 80 的 TCP 数据包,并且这些数据包是出站连接,即服务器主动发起的请求。

综合起来,这个命令的作用是在服务器上监听网络接口 eth0,捕获服务器发出的目标端口为 80 的 TCP 数据包,这些数据包代表着服务器向外部发起的 HTTP 请求。


tcpdump -i any -w http_traffic.pcap -A  &

  • tcpdump: 这是用于捕获网络数据包的命令行工具。
  • -i any: 这个部分指定了要捕获的网络接口。在这种情况下,它表示捕获所有可用的网络接口上的数据包。
  • -w http_traffic.pcap: 这一部分将捕获的数据包写入到名为 http_traffic.pcap 的文件中,这是一个网络数据包的标准保存格式,可以在其他网络分析工具中进行分析。
  • -A: 这个选项表示将捕获的数据包以文本形式显示,而不是以默认的十六进制形式显示。
  • &: 这个符号在大多数Unix类系统中用来表示将命令放入后台运行,这样你可以在终端上执行其他命令而不必等待这个命令完成。

 

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏

支付宝
微信
0

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

共有 0 - tcpdump

博客简介

精彩评论

  • admin(6年前 (2020-03-09))

    分别用不同厚度的筏板定义,画图后这设置筏板变截面处理。 http://f.fwxgx.co...

    评:新文章!
  • admin(6年前 (2020-03-09))

    分别用不同厚度的筏板定义,画图后这设置筏板变截面处理。 http://f.fwxgx.co...

    评:新文章!
  • admin(6年前 (2020-03-09))

    新增一个框架图! http://biji.jinli.vip/wp-content/upl...

    评:新文章!
  • 一位WordPress评论者(6年前 (2020-02-13))

    嗨,这是一条评论。 要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。 评论者头像来自...

    评:世界,您好!