tcpdump入门——基本功能概述

server/2024/9/25 15:20:44/

tcpdump 是一个强大的命令行抓包工具,广泛用于网络流量的捕获和分析。以下是详细的入门级讲解,帮助你理解如何使用 tcpdump

1. 安装 tcpdump

大多数 Linux 发行版默认包含 tcpdump。如果没有安装,可以通过以下命令安装:

  • Ubuntu/Debiansudo apt-get install tcpdump
  • CentOS/Fedorasudo yum install tcpdump

2. 基本用法

tcpdump [选项] [表达式]

3. 查看网络接口

在开始抓包之前,可以使用 tcpdump -D 查看系统中的网络接口:

tcpdump -D

输出示例:

1.eth0
2.lo

4. 抓取特定接口上的流量

-i指定接口抓包(例如 eth0):

sudo tcpdump -i eth0

5. 保存抓取的数据

你可以将抓取的数据保存到文件中以供稍后分析:

sudo tcpdump -i eth0 -w capture.pcap
  • -w 表示将数据写入文件 capture.pcap
  • 使用 Wireshark 等工具打开 .pcap 文件进行分析。

6. 读取保存的抓包文件

使用 tcpdump 可以读取并分析 .pcap 文件:

tcpdump -r capture.pcap

-r 表示读取文件。

7. 过滤表达式

tcpdump 允许你使用过滤表达式,只抓取你感兴趣的数据包:

  • 抓取某个IP地址的流量
sudo tcpdump -i eth0 host 192.168.1.1

抓取特定端口的流量

sudo tcpdump -i eth0 port 80

抓取 TCP 流量

sudo tcpdump -i eth0 tcp

组合条件(AND、OR、NOT):

sudo tcpdump -i eth0 tcp and port 80 and not src 192.168.1.1

8. 常用选项

  • -n:不解析主机名(直接显示 IP 地址)。
  • -v, -vv, -vvv:增加输出的详细程度。
  • -c 数量:只抓取指定数量的包,然后停止。
  • -s Snaplength:指定抓包时捕获数据的最大字节数,默认为 65535。如果只需查看包头,可以将其设置为较小的值,如 -s 96
  • -A:以 ASCII 格式显示数据包的内容。
  • -X:以十六进制和 ASCII 格式显示数据包内容。
  • -S:表示显示绝对序列号。

9. 实例演示

  • 抓取所有HTTP流量
sudo tcpdump -i eth0 port 80

只抓取来自特定IP地址的流量

sudo tcpdump -i eth0 src 192.168.1.1

抓取并显示数据包内容

sudo tcpdump -i eth0 -A

抓取指定数量的数据包后停止

sudo tcpdump -i eth0 -c 10

10. 总结

tcpdump 是一个功能强大但容易上手的工具。掌握基本命令和选项后,你可以根据需要构建复杂的过滤表达式,以便更精准地捕获和分析网络流量。无论是用于简单的网络问题排查,还是深入的安全分析,tcpdump 都是一个值得学习和使用的工具。


http://www.ppmy.cn/server/101599.html

相关文章

复习之 java 锁

裁员在家,没有面试机会,整理整理面试知识点吧! 不得不知道的java 锁 Java 中,提供了两种方式来实现同步互斥访问(也就是锁):synchronized 和 Lock 多线程编程中,有可能会出现多个线…

学习Flutter时需要了解的背景知识

关键词:Flutter、移动UI框架、跨平台、Widget、高效开发、自定义Widget、热重载、性能优化 摘要:Flutter是Google推出的开源移动UI框架,旨在支持高效构建高质量的原生应用,同时兼容iOS和Android平台。它通过热重载技术实现高效开发…

Java链表LinkedList的基本概念、操作以及使用示例

在 Java 中,链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和指向下一个节点的引用。Java 提供了一些内置的链表实现,最常用的是 java.util.LinkedList 类。下面将详细介绍链表的基本概念、操作以及使用示…

EmguCV学习笔记 VB.Net 2.3 Mat类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV学习笔记目录 Vb.net EmguCV学习笔记目录 C# 笔者的博客网址:VB.Net-CSDN博客 教程相关说明以及如何获得pdf教…

Java设计模式之策略模式实践

1、策略接口 /*** 策略接口*/ public interface DemoStrategy {Result execute(); } 2、策略工厂 /*** 策略工厂*/ Component public class DemoFactory {Resourceprivate final Map<String, DemoStrategy> demoStrategy new ConcurrentHashMap<>();public Demo…

Java版自动化测试之Selenium

1. 准备 编程语言&#xff1a;Java JDK版本&#xff1a;17 Maven版本&#xff1a;3.6.1 2. 开始 声明&#xff1a;本次只测试Java的Selenium自动化功能 本次示例过程&#xff1a;打开谷歌游览器&#xff0c;进入目标网址&#xff0c;找到网页的输入框元素&#xff0c;输入指…

使用DOM破坏启动xss

实验环境&#xff1a; Lab: Exploiting DOM clobbering to enable XSS | Web Security Academy (portswigger.net) 分析&#xff1a; 找破坏点&#xff1a; 第一个输入框可以看见是<texarrea>;不能插入语句.&#xff1a; 构造一个语句试试 <img src1 οnerrοraler…

Ruby光芒四射:开发者职业发展的璀璨之路

标题&#xff1a;Ruby光芒四射&#xff1a;开发者职业发展的璀璨之路 在软件开发的星空中&#xff0c;Ruby以其独特的魅力和强大的功能&#xff0c;成为了许多开发者的首选语言。Ruby语言以其简洁、优雅和高效著称&#xff0c;尤其是在Web开发领域&#xff0c;Ruby on Rails框…