网站建设中期目标,在线crm网站建站,孩子学编程网上课程哪家好,怎样查找网站开发者故障排除是任何 Linux 用户或管理员的基本技能。这涉及识别和解决 Linux 系统中的问题。这些问题的范围包括常见的系统错误、硬件或软件问题、网络连接问题以及系统资源的管理。Linux 中的故障排除过程通常涉及使用命令行工具、检查系统和应用程序日志文件、了解系统进程#…故障排除是任何 Linux 用户或管理员的基本技能。这涉及识别和解决 Linux 系统中的问题。这些问题的范围包括常见的系统错误、硬件或软件问题、网络连接问题以及系统资源的管理。Linux 中的故障排除过程通常涉及使用命令行工具、检查系统和应用程序日志文件、了解系统进程有时还涉及深入研究 Linux 内核。
有效故障排除的关键是了解 Linux 的工作原理并熟悉常见的命令行工具。此外能够解释错误消息、使用 Linux 的内置调试工具以及了解常见问题症状可以加快解决时间。
# example of using a command-line tool for troubleshooting
top
该命令是一种常用的故障排除工具可提供系统上运行的进程的动态实时视图。它对于识别可能导致性能问题的资源密集型进程特别有用。top
️♂️ Linux故障排除就像侦探破案
核心思路 像侦探一样收集线索日志、分析证据系统状态、锁定嫌犯问题根源 案件调查步骤
1️⃣ 现场勘查查看系统状态 top # 查看实时人流监控进程资源占用
htop # 升级版监控更直观支持鼠标操作 关键线索CPU占用90%的可疑分子异常进程 行动按P按CPU排序按k终止可疑进程
2️⃣ 调取监控查看日志 journalctl -xe # 查看系统监控录像最新日志
tail -f /var/log/syslog # 实时追踪案发现场 常见案发现场 /var/log/auth.log → 登录安全记录 /var/log/nginx/error.log → Web服务错误
3️⃣ 排查物证检查硬件 dmesg | grep -i error # 检查物证报告硬件错误
smartctl -a /dev/sda # 检测硬盘健康状态 作用查看系统日志找出可能的硬件错误
解析
dmesg 显示系统日志包含开机信息、硬件检测、驱动加载等内容。| 管道操作符把 dmesg 的输出传给 grep 处理。grep -i error 搜索日志中**包含“error”错误**的行-i 让匹配不区分大小写。
示例
dmesg | grep -i error
如果系统有错误可能会输出
[ 145.123456] ata1.00: failed command: READ FPDMA QUEUED
[ 145.123789] blk_update_request: I/O error, dev sda, sector 123456
[ 200.987654] EXT4-fs error (device sda1): ext4_find_entry:xxxx: reading directory #xxxxxxx offset xxxx解释
I/O error, dev sda 硬盘读写错误。EXT4-fs error 磁盘文件系统出错可能有坏道。
✅ 结论如果发现错误日志说明硬件尤其是硬盘可能有问题建议进一步检测。 作用查询硬盘的 S.M.A.R.T.自我监测分析报告信息判断硬盘是否健康
解析
smartctl 一个检测硬盘健康状态的工具属于 smartmontools 软件包。-a 显示所有 S.M.A.R.T. 信息包括温度、坏道、寿命等。/dev/sda 指定要检测的硬盘sda 是系统的第一块硬盘。
示例
smartctl -a /dev/sda
可能输出
ID# ATTRIBUTE_NAME VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE5 Reallocated_Sector_Ct 10 10 36 Pre-fail Always FAILING_NOW 1009 Power_On_Hours 30000 100 0 Old_age Always - 30000
194 Temperature_Celsius 35 50 0 Old_age Always - 35解释
Reallocated_Sector_Ct重映射扇区数 数值大于 0 说明硬盘有坏道100 说明已经有 100 个坏块。Power_On_Hours开机时间 硬盘运行时间30000 小时≈3.4 年。Temperature_Celsius温度 硬盘温度35℃正常。
✅ 结论
如果 Reallocated_Sector_Ct 有值说明硬盘有坏道建议更换硬盘如果 Power_On_Hours 太高40,000 小时说明硬盘已经很老容易出问题。如果温度高于 50℃可能需要改善散热。 解释
Reallocated_Sector_Ct重映射扇区数 数值大于 0 说明硬盘有坏道100 说明已经有 100 个坏块。Power_On_Hours开机时间 硬盘运行时间30000 小时≈3.4 年。Temperature_Celsius温度 硬盘温度35℃正常。
✅ 结论
如果 Reallocated_Sector_Ct 有值说明硬盘有坏道建议更换硬盘如果 Power_On_Hours 太高40,000 小时说明硬盘已经很老容易出问题。如果温度高于 50℃可能需要改善散热。 总结
命令作用主要关注点dmesggrep -i error查系统日志检查硬件错误smartctl -a /dev/sda查询硬盘健康状况Reallocated_Sector_Ct、Power_On_Hours、Temperature_Celsius 如果 dmesg 发现 I/O 错误或者 smartctl 发现坏道说明硬盘可能要坏了需要尽快备份数据 侦探工具箱常用命令
工具用途生活比喻strace追踪程序行为给嫌疑人戴定位器nc/telnet测试网络端口检查电话线路是否畅通df -h查看磁盘空间检查仓库是否爆满ping测试网络连通性测试对讲机信号lsof查看文件占用情况查谁在占用保险箱 经典案件侦破
案件网站突然无法访问 初步勘查 systemctl status nginx # 发现服务异常停止 调取监控 journalctl -u nginx --since 10 minutes ago # 发现端口冲突 锁定嫌犯 ss -tulnp | grep :80 # 发现Apache占用了80端口 解决问题 sudo systemctl stop httpd # 停用Apache
sudo systemctl start nginx # 启动Nginx ⚠️ 侦探守则注意事项 保护现场遇到问题先别重启保留现场证据 逐项排查从简单到复杂先检查网络→服务→配置 善用手册man 命令 或 命令 --help 获取线索 隔离测试最小化重现环境避免干扰 破案技巧 时间回溯 sudo grep ERROR /var/log/* -r --since 2023-10-01 压力测试 stress --cpu 8 --timeout 60s # 模拟高负载测试 快照还原 timeshift --restore # 使用系统快照回到案发前 总结 记住这个破案口诀
一查状态二看报错
三验网络四测硬件
日志监控是金钥匙
隔离验证保平安。 掌握这些技能你就能成为Linux世界的福尔摩斯
ICMP
Internet 控制消息协议 ICMP 是一种支持协议主要由网络设备用于将更新或错误信息传达给其他设备。在 Linux 环境中排查网络问题时ICMP 是一个关键方面。它可用于发送错误消息例如指示请求的服务不可用或无法访问主机或路由器。ICMP 还可用于中继查询消息。
在 Linux 系统中与 ICMP 相关的常见命令行工具包括 和 两者都用于诊断网络状态通常是故障排除工作的一部分。pingtraceroute
# Use of ICMP via the ping command to send an echo request to a specific host
ping www.google.com
这个简单而有效的工具在任何 Linux 网络故障排除库中都不应错过。
好的我用「快递员送包裹」的比喻来解释 ICMP 协议和相关工具让你像查快递一样排查网络问题 ICMP 协议 快递员之间的沟通纸条
想象你要寄快递发送数据包但中途可能出问题 正常流程快递员数据包顺利到达目的地❌ 异常情况地址写错、路断了、对方拒收 这时快递员会用 ICMP 协议写「纸条」通知你问题在哪 ICMP 的两种核心功能
报错通知类似快递退回单 例子Destination Unreachable地址不存在场景访问的网站 IP 写错了路由器返回这个错误 网络探测类似物流跟踪 例子Echo Request/Reply回声检测场景用 ping 测试是否能到达目标服务器 Linux 中的 ICMP 工具快递追踪器
1️⃣ ping检查包裹是否能送达
ping www.google.com # 向谷歌服务器发送探测包
输出示例
64 bytes from 172.217.160.68: icmp_seq1 ttl54 time25.3 ms
64 bytes from 172.217.160.68: icmp_seq2 ttl54 time26.1 ms
结果解读
time25.3 ms → 网络延迟越低越好ttl54 → 数据包经过的路由器跳数初始值通常64或128如果显示 请求超时说明网络不通或对方屏蔽了 ICMP
适用场景
快速测试网站/IP 是否能访问检查本地网络是否正常先 ping 路由器IP 2️⃣ traceroute跟踪包裹的运输路线
traceroute www.baidu.com # 显示数据包经过的所有路由器
输出示例 1 192.168.1.1 (192.168.1.1) 2.123 ms 1.987 ms 1.845 ms 2 10.10.10.1 (10.10.10.1) 10.234 ms 10.123 ms 9.876 ms 3 202.96.128.86 (电信骨干网) 25.678 ms 26.123 ms 25.987 ms ...
原理
故意发送 TTL存活时间递增的数据包每经过一个路由器TTL 减1当 TTL0 时路由器返回 ICMP 超时消息通过这种方式「逼」路由器们暴露自己的 IP
适用场景
定位网络卡在哪一跳比如第3跳延迟暴增排查跨国网站访问慢的问题 ICMP 的常见错误类型
ICMP 错误类型比喻可能原因Destination Unreachable快递员说「地址不存在」目标 IP 错误/防火墙拦截Time Exceeded快递员说「包裹运输超时」网络环路或 TTL 设置过小Redirect快递员说「换条更快的路走」路由器优化路径Source Quench快递员说「发慢点我忙不过来了」网络拥堵现已很少使用 实际故障排查案例
问题电脑能上微信但打不开网页
排查步骤
ping 114.114.114.114 → 测试是否能连国内 DNS 如果通 → 说明网络连接正常不通 → 检查本地网络或网线 ping www.baidu.com → 测试域名解析 如果通 → 浏览器问题或 HTTPS 证书错误不通 → DNS 设置错误修改 /etc/resolv.conf ICMP 的局限性
可能被防火墙屏蔽很多服务器关闭 ICMP 响应防攻击不代表端口可用即使能 ping 通不代表 80HTTP端口开放 端口检测需用 telnet 目标IP 80 或 nc -zv 目标IP 80 其他相关工具
**mtr**ping traceroute 合体版实时监控每跳的丢包率 mtr www.github.com # 动态显示网络路径质量 **nmap**检测目标是否屏蔽 ICMP nmap -sn 192.168.1.1 # 用多种方式探测主机是否在线 总结 ICMP 就像网络世界的「信使系统」ping 是打电话问对方「在吗」traceroute 是查通话经过哪些中转站。掌握这些工具你就能像侦探一样顺藤摸瓜找到网络问题的源头
ping
Ping是在 Linux作系统上进行网络故障排除时的关键工具。该命令允许您检查主机与目标计算机可以是另一台计算机、服务器或网络上的任何设备之间的连接状态。此诊断工具将 ICMP互联网控制消息协议ECHO_REQUEST数据包发送到目标主机并侦听ECHO_RESPONSE返回从而深入了解连接的运行状况和速度。ping
ping target IP or hostname
如果到达目标主机时遇到任何问题可以识别此问题并提供反馈使其成为排查网络问题的重要组件。在许多情况下它是 Linux 用户在诊断网络连接问题时首先使用的工具。ping 好的用「打电话」和「回声探测」的比喻来解释 ping保证你听完就能掌握精髓 **ping 网络世界的「电话测试仪」**
想象你想确认朋友手机是否开机你会 1️⃣ 打电话 → 如果朋友接了说明线路正常 2️⃣ 听嘟嘟声 → 如果响铃后无人接听可能对方关机 3️⃣ 数响铃时间 → 判断距离远近延迟高低
ping 就是用 ICMP 协议做类似的事情只不过探测对象是网络设备 基础用法打一通网络电话
ping www.baidu.com # 给百度服务器打电话
输出示例
PING www.a.shifen.com (14.119.104.189) 56(84) bytes of data.
64 bytes from 14.119.104.189: icmp_seq1 ttl54 time28.3 ms
64 bytes from 14.119.104.189: icmp_seq2 ttl54 time27.9 ms
^C # 按 CtrlC 停止
--- 统计报告 ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev 27.934/28.114/28.295/0.180 ms
关键信息解读
**time28.3 ms** → 延迟越低网速越快游戏玩家最关注这个**ttl54** → 初始值通常 64Linux或 128Windows每经过一个路由器减1 如果看到 ttl112说明经过了 128-11216 个路由器 **0% packet loss** → 丢包率5% 可能影响视频通话 常见场景与操作技巧
场景1快速测试网络通不通
ping -c 4 114.114.114.114 # 只打4次电话就挂断
输出
--- 114.114.114.114 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss # 全通说明网络正常
场景2检测网络稳定性持续监控
ping -i 0.5 www.qq.com # 每0.5秒打一次电话
用途
玩游戏时检测网络是否波动按 Ctrl \ 强制退出无限循环
场景3排查「能上微信但打不开网页」
ping 114.114.114.114 # 测试DNS服务器是否可达
ping www.baidu.com # 测试域名解析是否正常
结论
第一个通第二个不通 → 可能是 DNS 问题修改 /etc/resolv.conf两个都不通 → 检查路由器或光猫 常见错误与应对措施
错误1未知的主机DNS解析失败
ping: www.xxx.com: 未知的名称或服务
解决方案
换用 IP 测试ping 8.8.8.8Google DNS检查 DNS 设置cat /etc/resolv.conf
错误2请求超时网络不通或屏蔽
From 192.168.1.1 icmp_seq1 Destination Host Unreachable
排查步骤
ping 路由器IP如 192.168.1.1 → 确认内网是否正常ping 8.8.8.8 → 确认外网是否连通目标服务器可能禁用了 ICMP比如某些云主机
错误3高延迟/高丢包
time350 ms # 延迟高于 200ms 就影响视频会议
50% packet loss # 丢包严重会导致卡顿
应对
用 mtr 目标IP 检查哪一跳路由器有问题联系网络运营商报修 高级技巧参数大全
参数命令示例作用-cping -c 5 IP指定发送次数-iping -i 0.1 IP加快探测频率默认1秒-sping -s 1000 IP加大数据包尺寸测试大包传输-Wping -W 3 IP超时时间设为3秒默认10秒-qping -q -c 10 IP只显示统计结果安静模式 总结ping 的三大核心作用
网络连通性测试 → 确认设备是否在线延迟与稳定性监测 → 评估网络质量初步故障定位 → 区分是内网问题还是外网问题
排查网络问题的黄金口诀
一 ping 网关二 ping DNS三 ping 公网IP
全都不通查网线部分不通找路由
路由跟踪
Traceroute 是一种网络诊断工具在 Linux 系统中广泛用于故障排除。它旨在显示数据包从运行 traceroute 的系统到指定目标系统或网站的路径。它用于识别路由问题、提供延迟测量并在数据包通过 Internet 时弄清楚网络结构。
沿路由的每次跳转都会测试多次默认值为 3但可以更改并显示每个数据包的往返时间。如果某些数据包无法到达目的地traceroute 可以帮助诊断故障发生的位置。
在 Linux 中跟踪路由可以通过执行命令来实现该命令允许您发现 Internet 协议数据包在到达目的地时遵循的路由。traceroute
$ traceroute www.example.com
我来用快递送货的例子帮你理解 traceroute 的工作原理
假设你从北京寄快递到上海的朋友家但快递中途要经过多个中转站 你寄出快递时在包裹上标记有效期1天 第一个中转站天津收到后发现有效期只剩0天就会 销毁包裹 给你发回一条短信包裹在天津超时了 你记录下天津站的响应时间比如0.5ms 接着你重新寄出包裹标记有效期2天 这次包裹能到达第二个中转站济南同样会收到超时通知 重复这个过程直到包裹到达上海朋友家 执行 traceroute www.example.com 的输出示例
复制
1 192.168.1.1 (路由器) 1.234 ms 1.456 ms 1.567 ms
2 61.128.192.1 (广州电信) 5.678 ms 5.712 ms 5.801 ms
3 202.97.12.34 (骨干网节点) 12.345 ms 12.401 ms 12.512 ms
...
10 203.0.113.5 (目标服务器) 38.901 ms 39.012 ms 39.123 ms 关键点解析 每行代表一个网络节点路由器/服务器 三个时间值对应三次探测的往返延迟 星号(*) 表示该次探测未得到响应 延迟突增的位置往往暗示网络瓶颈 实用技巧 用 -I 参数使用ICMP协议类似ping traceroute -I baidu.com 遇到星号时尝试增加探测次数 traceroute -q 5 github.com 限制最大跳数适合内网排查 traceroute -m 10 192.168.0.100
⚠️ 注意某些网络设备会屏蔽traceroute探测这时候会出现连续星号并不一定代表网络故障。
Netstat
Netstat 是 network statistics 的缩写是 Linux 系统中用于网络故障排除和性能测量的内置命令行工具。它提供协议的统计信息、开放端口列表、路由表信息和其他重要的网络详细信息。管理员和开发人员使用 netstat 来检查网络问题并了解系统如何与其他系统通信。
由于它支持各种命令行选项它的功能得到了扩展这些选项可以单独或组合使用来微调输出。这些可能包括显示数字地址而不是名称 、持续监视 或发现特定协议上的连接 。-n -c -t -u
以下是 netstat 通常如何使用的简短片段
# List all connections with numerical values.
netstat -n
好的用「电话总机控制台」来比喻 netstat让你像查电话线路一样掌握网络连接状态 **netstat 网络连接的电话交换机面板**
想象你管理一个公司的电话系统需要知道
哪些分机正在通话 → 查看活动连接哪些分机等待来电 → 查看监听端口电话线路路由表 → 查看网络路由配置
netstat 就是这样一个实时显示所有「电话线路」网络连接状态的控制面板 常用场景速查手册
场景1查看所有正在通话的线路活动连接
netstat -natp # 组合参数大法
参数解释
-n显示数字地址不解析域名-a显示所有连接包括监听中的-tTCP协议-p显示进程PID/名称
输出示例
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.1.100:22 110.242.68.3:56789 ESTABLISHED 1234/sshd: user
tcp6 0 0 :::80 :::* LISTEN 5678/nginx
关键列解读
Local Address本机IP和端口Foreign Address对方IP和端口State连接状态ESTABLISHED通话中LISTEN待机中PID/Program哪个程序在使用这个连接 场景2查谁在偷听电话监听中的端口
netstat -tulnp # 组合拳出击
参数解释
-tTCP协议-uUDP协议-l仅显示监听中的端口-p显示进程信息
输出示例
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp6 0 0 :::80 :::* LISTEN 5678/nginx
udp 0 0 0.0.0.0:68 0.0.0.0:* 7890/dhclient
典型应用
确认Web服务器是否在监听80端口检查是否有可疑后门程序在监听端口 场景3查电话线路统计网络流量统计
netstat -s # 查看协议统计信息
输出重点
Tcp:3245 active connections openings 12 failed connection attempts 892 segments retransmitted Ip:25675 total packets received 0 invalid addresses
用途
诊断TCP重传率过高网络质量差检查UDP丢包情况 实用排查案例
问题1端口被占用导致服务启动失败
步骤
# 1. 查哪个进程占用了80端口
netstat -tulnp | grep :80# 2. 根据PID结束进程
kill -9 5678
问题2怀疑服务器被植入后门
步骤
netstat -natp | grep ESTAB
# 重点检查Foreign Address是否有陌生IP连接 参数对照表新手必存
参数作用常用组合-n禁用域名解析显示IP-nat / -nau-a显示所有连接-a-t仅显示TCP协议-tuln-u仅显示UDP协议-tuln-l仅显示监听中的端口-tuln-p显示进程信息-p-s统计各协议数据量-s-r显示路由表-r 升级替代工具ss 命令
特点更快更现代逐渐替代 netstat 常用命令
ss -tunlp # 参数含义与netstat类似 总结口诀
查连接用 netstat参数组合别搞差
-n 显示纯数字-a 所有连接查
-t TCP u是UDP-l 监听要记牢
-p 显示进程号-s 统计顶呱呱
遇到问题别慌张先查端口后杀它 数据包分析 在 Linux 系统管理和网络故障排除领域数据包分析是一项关键技能。它涉及使用工具和技术来捕获和分析网络流量。通过检查通过网络发送和接收的数据系统和网络管理员可以识别和排查性能不佳、连接问题和安全漏洞等问题。 tcpdump 和 Wireshark 等工具是实现此目的的常见实用程序。它们显示数据包级别的详细信息以提供网络活动的完整图片。这些对于网络诊断和调试与网络协议相关的问题特别有用。 在 Linux 系统命令中使用 tcpdump 捕获数据包的基本示例可能如下所示 sudo tcpdump -i eth0 eth0 是 Linux 系统中 第一个以太网网络接口的名称可以理解为你的电脑或服务器上的第一个物理网卡或虚拟网卡。 它的命名规则是**ethEthernet 的缩写 数字编号**比如 eth0、eth1 分别代表第一个、第二个以太网接口。 通俗解释 想象你的电脑有多个「网线插口」 eth0 → 第一个插口比如连接路由器的网线eth1 → 第二个插口如果有额外的网卡wlan0 → 无线网卡Wi-Filo → 虚拟的「回环接口」用于本机内部通信 命令中的用途 在 sudo tcpdump -i eth0 host 192.168.1.100 中 -i eth0 表示 监听抓包通过 eth0 接口的网络流量如果不指定 -itcpdump 会默认监听第一个非回环接口通常是 eth0 如何查看所有网络接口 ip link show # 查看所有网络接口的名称和状态 输出类似 1: lo: LOOPBACK,UP ... # 回环接口虚拟
2: eth0: BROADCAST,UP ... # 第一个以太网接口物理网卡
3: wlan0: BROADCAST,UP ... # 无线网卡 常见接口类型 接口名称用途示例场景eth0物理有线网卡连接路由器的网线wlan0无线网卡连接 Wi-Filo本地回环接口虚拟本机内部服务通信如访问 127.0.0.1docker0Docker 创建的虚拟接口容器网络通信tun0VPN 隧道接口连接 OpenVPN 时使用 为什么需要指定 eth0 如果服务器有多个网卡比如 eth0 接内网eth1 接外网指定接口可以精准抓包避免抓取无关流量比如 lo 回环接口的本地通信 扩展知识现代 Linux 的接口命名 新版本 Linux 可能使用 基于固件/拓扑的命名规则如 enp0s3、ens33但原理与 eth0 相同。 可以通过以下命令查看 ls /sys/class/net # 列出所有网络接口名称 此命令捕获并显示通过网络接口传输或接收的数据包。eth0 用物流中心监控系统来比喻数据包分析的工作原理 场景假设你管理一个大型国际物流中心所有包裹都要经过分拣扫描仪 核心工具解析 1. tcpdump - 实时包裹扫描仪 sudo tcpdump -i eth0 host 192.168.1.100 功能就像在传送带上安装的X光扫描仪 操作员视角 看到所有经过eth0传送带的包裹数据包 只关注发往/来自192.168.1.100货架的包裹 实时显示包裹标签信息源/目的IP、端口等 2. Wireshark - 包裹分析实验室 tshark -r capture.pcap # 命令行版分析工具 功能将扫描记录带回实验室深度检测 技术员视角 拆解包裹外层包装解码协议头 化验包裹内容物查看Payload数据 发现异常包裹恶意流量分析 ️ 实战案例演示 需求排查网站访问缓慢问题 步骤 启动物流监控开始抓包 sudo tcpdump -i eth0 port 80 -w web.pcap 复现问题访问目标网站 停止抓包后分析 wireshark web.pcap # 图形化分析 关键分析点 查找红色标记的破损包裹TCP重传包 检查包裹到达时间间隔网络延迟 识别异常运输路线错误路由 数据包标签解读示例 15:03:22.123456 IP 192.168.1.5.54321 203.0.113.10.80: Flags [P.], seq 1:100, ack 1, win 256, length 99 时间戳15点03分22秒 包裹流向从192.168.1.5的54321端口 - 203.0.113.10的80端口 包裹状态重要数据PUSH标志 物流编号包裹序列号1-100已确认收到1号包裹 包裹尺寸99字节 实用技巧锦囊 精准过滤 tcpdump tcp port 443 and (host 1.1.1.1 or host 8.8.8.8)
host 1.1.1.1目标或来源是 1.1.1.1Cloudflare 的 DNS 服务器。
host 8.8.8.8目标或来源是 8.8.8.8Google 的 DNS 服务器。
or逻辑「或」满足其中一个 IP 即可。
and逻辑「与」同时满足 TCP 443 端口和 IP 条件。
扩展常见协议与端口对照
端口 协议 用途
443 TCP HTTPS 加密网页
53 UDP/TCP DNS 域名解析
80 TCP HTTP 明文网页
22 TCP SSH 安全登录
示例输出
15:30:22.123 IP 192.168.1.100.54321 1.1.1.1.443: Flags [S], seq 123456, win 64240
15:30:22.456 IP 1.1.1.1.443 192.168.1.100.54321: Flags [S.], seq 654321, ack 123457, win 65535
Flags [S]TCP 握手的第一步SYN。Flags [S.]SYN-ACK 响应表示服务端同意建立连接。抓取内容慎用 命令作用 tcpdump -A -s0 port 21 就像在快递分拣中心 拆开所有发往 21 号货架FTP 端口的包裹并直接查看里面的纸质文件内容。 由于 FTP 协议默认不加密此命令可捕获 用户名、密码、传输的文件名 等敏感信息。 参数拆解 参数作用类比解释-A以 ASCII 格式显示数据包内容把包裹里的文件转成可读的文字-s0抓取完整数据包不截断拆开整个包裹不遗漏任何内容port 21只监控 FTP 控制端口流量只检查 21 号货架的包裹 典型输出示例 17:30:45.123 IP 192.168.1.100.54321 203.0.113.5.21: Flags [P.], seq 1:15, ack 1, win 502
E..5....X...........5...P...e....5....USER alice0d0a # ← 用户名明文
17:30:45.456 IP 192.168.1.100.54321 203.0.113.5.21: Flags [P.], seq 15:29, ack 1, win 502
E..5....X...........5...P...e....5....PASS pssw0rd0d0a # ← 密码明文 tcpdump -A -s0 port 21 # 显示FTP明文内容流量统计 你提到的这条命令是使用 tsharkWireshark 的命令行版本对抓包文件进行流量统计分析的实用技巧。让我们用物流数据分析的场景来类比解释 命令解析 tshark -r traffic.pcap -qz io,stat,60 参数/语法技术含义现实比喻-r traffic.pcap指定读取read的抓包文件调取「高速公路监控中心」某天的监控录像带-q安静模式quiet不显示实时抓包信息分析时不显示监控实时画面只输出统计报表-z启动统计模块z代表statistics启用「智能交通分析系统」io,stat统计模块名称输入输出统计Input/Output Statistics统计每个时段的车辆流量和货物运输量60统计间隔单位秒将监控录像按每分钟分段分析 分解说明 -r traffic.pcap ➡️ 相当于打开「物流中心过去24小时的监控录像」读取已保存的抓包文件 -qz io,stat,60 ➡️ 执行「自动化的运输报表生成系统」参数分解 io,stat统计输入输出流量Input/Output Statistics 60将监控录像按60秒为单位分段分析 典型输出示例
| Duration | Packets | Bytes | bps | B/s | MB |
| 60.00 | 12456 | 98M | 13107 | 1638.4 | 1.56 |
| 60.00 | 8543 | 73M | 9733 | 1216.6 | 1.16 |
| 60.00 | 15234 | 124M | 16512 | 2064.0 | 1.97 |数据列解读物流中心版 Duration (时长) ➡️ 分析的时间窗口每60秒一个统计周期 Packets (数据包数量) ➡️ 该时段经过传送带的包裹总数1个包裹1个数据包 Bytes (字节数) ➡️ 该时段运输的货物总重量1字节1克货物 bps (bits per second) ➡️ 传送带实时负载率比特/秒1字节8比特 B/s (Bytes per second) ➡️ 实际货运吞吐量字节/秒 MB (兆字节) ➡️ 该时段运输的货物总重量换算为MB单位 实战应用场景 案例排查网络带宽异常 发现异常时段 观察哪段时间的「bps」或「MB」列数值异常增高 定位问题类型 突发高bps 高Packets → 可能遭遇DDoS攻击海量小包 持续高MB 正常Packets → 大文件传输/数据泄露 bps周期性波动 → 正常业务流量如整点备份 结合原始数据 # 定位到异常时间段后提取该时段详细通信记录
editcap -A 2023-08-01 14:30:00 -B 2023-08-01 14:31:00 traffic.pcap suspicious.pcap
wireshark suspicious.pcap 变体3TopN 会话排行 tshark -r traffic.pcap -qz conv,tcp # 统计TCP会话流量TOP榜 注意事项 权限问题分析抓包文件时可能需要 sudo 权限 时间精度统计粒度60秒可根据需要调整建议 故障排查5-10秒精细粒度 趋势分析300-600秒大粒度 数据可视化可将输出导入Excel生成流量曲线图 扩展思考对比 iftop 和 nload 等实时流量监控工具这个命令的优势在于能对历史数据进行回溯分析 ⚙️ 扩展技巧 变体1实时流量监控 tshark -i eth0 -qz io,stat,10 # 每10秒刷新一次实时统计 变体2协议分布统计 tshark -r traffic.pcap -qz io,stat,60,http,tcp # 单独统计HTTP和TCP流量 tshark -r traffic.pcap -qz io,stat,60 # 每分钟流量统计 安全检测示例 检测DDOS攻击 tcpdump -nn dst port 80 | awk {print $3} | sort | uniq -c | sort -nr 抓取快递包裹tcpdump -nn dst port 80 **-nn**不解析域名和端口名称保持数字格式类似快递单只写编号不写名字**dst port 80**只抓取目标端口是 80 的流量HTTP 包裹输出示例 12:34:56.789 IP 192.168.1.100.54321 203.0.113.5.80: Flags [S], ... 统计包裹数量uniq -c **-c**统计每个地址出现的次数输出 1 198.51.100.10.80
2 203.0.113.5.80 按数量倒序排列sort -nr **-n**按数字排序默认按字符排序会出错比如 10 2**-r**逆序从大到小最终输出 2 203.0.113.5.80
1 198.51.100.10.80 记忆口诀 一抓二提三排序四统五排结果齐。
-nn 抓包禁解析awk 提列看第三。
sort 整理做铺垫uniq -c 数出现。
sort -nr 倒排序流量统计最清晰。 输出示例 3258 61.177.172.10
1245 183.251.61.102
987 122.114.27.214 显示IP 61.177.172.10在短时间内发送了3258个到80端口的请求 学习路径建议 先掌握基础过滤器语法 从分析HTTP流量开始练习 逐步过渡到TCP流重组分析 最后挑战TLS加密流量分析 小贴士Wireshark官网提供各种协议的示例抓包文件是绝佳的学习资料