【Linux】通过tcpdump抓包,捕获"eth0: That device is not up. "

背景

使用sudo tcpdump -i eth0 tcp命令抓TCP数据包,捕获到了"eth0: That device is not up. "异常。

原因:eth0网卡没有启动。

解决方法

要让 eth0 启动,可以使用以下方法:

方法一:使用 ip 命令

在 Linux 系统中,通过以下步骤可以启用网络接口:

  1. 检查网络接口状态:

    bash 复制代码
    ip link show eth0 # ip 命令是现代管理网络接口的工具

    如果看到 state DOWN,表示该接口已关闭。

  2. 启用 eth0 网络接口:

    bash 复制代码
    sudo ip link set eth0 up

    然后,可以再次运行 ip link show eth0 验证其状态变为 state UP

方法二:使用 ifconfig 命令

如果系统还支持 ifconfig,可以用它来管理网络接口:

  1. 检查网络接口状态:

    bash 复制代码
    ifconfig

    如果不显示eth0网卡信息,则说明eth0网卡未开启。

  2. 启用 eth0

    bash 复制代码
    sudo ifconfig eth0 up

注意项:

  • 权限 :启用网络接口需要管理员权限,因此可能需要使用 sudo 执行命令(如果已经切换到了root用户下,则可以省略sudo)。
  • 配置问题:确保网络接口配置正确,比如有有效的 IP 地址配置和路由规则。如果接口未正确配置,启用后可能无法进行正常的网络连接。
  • 持久性:手动启用接口后,重启系统可能会重置到默认状态,因此需要确保系统网络配置文件设置正确,以便保证重启后接口自动启用。

扩展: 如何抓服务器的包?

  • 常见的抓包命令: tcpdump
  • 常见的抓包工具:Wireshark

tcpdump命令的使用

tcpdump 是一个命令行的包捕获工具,非常适合在情况紧急或服务器没有图形界面时使用。

  1. 安装 tcpdump

在大多数 Linux 发行版上,tcpdump 通常已经安装。如果没有,可以使用包管理工具进行安装:

bash 复制代码
sudo apt update
sudo apt install tcpdump  # 在基于 Debian 的系统中
sudo yum install tcpdump  # 在基于 RPM 的系统中
  1. 基本用法

在你需要的网络接口上运行 tcpdump

bash 复制代码
sudo tcpdump -i eth0
  • -i eth0:指定需要监控的接口(例如:eth0)。
  1. 输出保存到文件

如果想将结果保存到文件以便于后续使用 Wireshark 或其他工具查看,可以使用:

bash 复制代码
sudo tcpdump -i eth0 -w capture.pcap
  • -w capture.pcap :将输出数据包写入 capture.pcap 文件。
  1. 过滤流量

为了捕获特定的流量类型或数据包,可以使用过滤表达式:

  • 捕获来自特定IP的流量:

    bash 复制代码
    sudo tcpdump -i eth0 host 192.168.1.1
  • 捕获特定端口流量:

    bash 复制代码
    sudo tcpdump -i eth0 port 80
  • 捕获TCP数据包:

    bash 复制代码
    sudo tcpdump -i eth0 tcp

Wireshark工具的使用

Wireshark 是一个功能强大的图形网络分析工具,适用于详细的网络流量分析。

  1. 安装 Wireshark

在有 GUI 环境的服务器或本地机器上安装 Wireshark 并分析之前通过 tcpdump 获取的包:

bash 复制代码
sudo apt update
sudo apt install wireshark  # 在基于 Debian 的系统中
  1. 打开捕获文件

在 Wireshark 中通过 File -> Open 打开你用 tcpdump 保存的 .pcap 文件。

  1. 分析

使用 Wireshark 的丰富过滤和分析功能,细致查看数据包细节。

注意项

  1. 权限 :抓包操作需要管理员权限,因此需要使用 sudo 或 root 执行。
  2. 影响和隐私:抓包可能对网络性能有所影响,并且会收集敏感信息,造成隐私泄露。
  3. 实时抓包:在生产环境中进行实时抓包,可能会引入安全问题或影响现有的流量。
相关推荐
mCell16 分钟前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记18 分钟前
GPU运维常见问题处理
linux·运维·gpu
誰能久伴不乏1 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔2 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula2 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-2 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw2 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
7ACE3 小时前
Wireshark TS | 发送数据超出接收窗口
网络协议·tcp/ip·wireshark
van叶~5 小时前
Linux网络-------1.socket编程基础---(TCP-socket)
linux·网络·tcp/ip
风吹落叶花飘荡5 小时前
Ubuntu系统 系统盘和数据盘扩容具体操作
linux·运维·ubuntu