[ Linux 命令基础 5 ] Linux 命令详解-网络管理命令

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

我们搞网络安全需要经常用到 linux 命令,比用拿到 linux 的 shell,需要使用 linux 命令。再比如 sh 脚本,我们经常需要使用。这里我将开始详细介绍一些常用的 linux 命令。本文讲解与网络管理相关的命令。
在这里插入图片描述

文章目录

  • 🍬 博主介绍
    • 5.1 网络连通性
      • 5.1.1 ping
        • 5.1.1.1 基本功能:
        • 5.1.1.2 基本语法:
        • 5.1.1.3 常用选项:
        • 5.1.1.4 使用示例:
        • 5.1.1.5 字段解析:
      • 5.1.2 traceroute
        • 5.1.2.1 基本功能:
        • 5.1.2.2 基本语法
        • 5.1.2.3 常用选项:
        • 5.1.2.4 使用示例:
      • 5.1.3 mtr
        • 5.1.3.1 基本功能:
        • 5.1.3.2 基本语法:
        • 5.1.3.3 常用选项:
      • 5.1.4 telnet
        • 5.1.4.1 基本功能:
        • 5.1.4.2 基本语法:
        • 5.1.4.3 常用选项:
        • 5.1.4.4 使用示例
        • 5.1.4.5 注意事项:
      • 5.1.5 nc
        • 5.1.5.1 基本功能:
        • 5.1.5.2 基本语法
        • 5.1.5.3 常用选项:
        • 5.1.5.4 使用示例
        • 5.1.5.5 注意事项
      • 5.1.6 nmap
        • 5.1.6.1 基本功能:
        • 5.1.6.2 基本语法
        • 5.1.6.3 常用选项:
        • 5.1.6.4 使用示例:
    • 5.2 查看电脑网络信息
      • 5.2.1 ifconfig
        • 5.2.1.1 基本功能:
        • 5.2.1.2 基本语法
        • 5.2.1.3 常用选项:
      • 5.2.2 ip
        • 5.2.2.1 基本功能:
        • 5.2.2.2 基本语法
        • 5.2.2.3 常用选项:
        • 5.2.2.4 常用对象
        • 5.2.2.5 使用示例
    • 5.3 查看网络连接信息
      • 5.3.1 netstat
        • 5.3.1.1 基本功能:
        • 5.3.1.2 基本语法
        • 5.3.1.3 常用选项:
        • 5.3.1.4 使用示例
      • 5.3.2 ss
        • 5.3.2.1 基本功能:
        • 5.3.2.2 基本语法
        • 5.3.2.3 常用选项:
    • 5.4 dns解析
      • 5.4.1 nslookup
        • 5.4.1.1 基本功能:
        • 5.4.1.2 基本语法:
        • 5.4.1.3 常用选项:
        • 5.4.14 使用示例:
        • 5.4.1.5 注意事项:
      • 5.4.2 dig
        • 5.4.2.1 基本功能:
        • 5.4.2.2 基本功能:
        • 5.4.2.3 常用选项:
        • 5.4.2.4 使用示例:
    • 5.5 防火墙
      • 5.5.1 iptables
        • 5.5.1.1 基本功能:
        • 5.5.1.2 基本语法
        • 5.5.1.3 常用选项:
        • 5.5.1.4 常用链
        • 5.5.1.5 匹配条件和目标
        • 5.5.1.6 iptables表类型:
        • 5.5.1.7 使用示例
    • 5.6 下载文件命令
      • 5.6.1 wget
        • 5.6.1.1 基本功能:
        • 5.6.1.2 基本语法:
        • 5.6.1.3 常用选项:
        • 5.6.1.4 使用示例:
    • 5.7 网络抓包工具
      • 5.7.1 tcpdump
        • 5.7.1.1 基本功能:
        • 5.7.1.2 基本语法:
        • 5.7.1.3 常用选项:
        • 5.7.1.4 使用示例:
        • 5.7.1.5 组合使用:
  • 相关资源

5.1 网络连通性

5.1.1 ping

5.1.1.1 基本功能:

ping命令用于测试与目标主机之间的连接。它向目标主机发送一个ICMP Internet控制报文协议回显请求,并等待它的回应。如果目标主机正常工作并且连接畅通,则会收到一个回显响应。如果没有收到响应,则说明有问题,需要进一步排除故障。ping可以用来测试本机与目标主机是否联通、联通速度如何、稳定性如何。

作用:

检测网络连接问题

测量网络延迟: 从发送ICMP请求到接收到回复所需的时间进行判断。-c可以指定发送ICMP请求次数。

检测丢包率: 检测网络拥堵或目标主机是否负载过高

5.1.1.2 基本语法:
ping [选项] 域名
5.1.1.3 常用选项:
  • -a: 平缓的ping
  • -A:自适应ping,根据ping包往返时间确定ping的速度
  • -c count: ping指定次数后停止ping
  • -i interval: 设定间隔几秒发送一个ping包,默认一秒一次
  • -I interface: 指定网卡接口、或指定的本地地址送出数据包
  • -l preload: 设置在送出要求信息之前,先行发出的数据包
  • -p pattern: 指定填充ping数据包的十六进制的内容,在诊断与数据有关的网络错误时这个选项就非常有用。
  • -q: 不显示任何传送封包的信息,只显示最后的结果 。
  • -R: 记录ping的路由过程,由于IP头的限制,最多只能记录9个路由
  • -t ttl: 设置TTL为指定的值
  • -W timeout: 以毫秒为单位,指定超时时间
  • -s packetsize: 指定发送ICMP请求的数据包大小
  • -f: 极限检测
5.1.1.4 使用示例:
[root@VM-16-3-opencloudos ~]# ping baidu.com
PING baidu.com (39.156.66.10) 56(84) bytes of data.
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=249 time=27.4 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=249 time=27.6 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=3 ttl=249 time=27.5 ms
^C
--- baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 27.366/27.503/27.595/0.167 ms
5.1.1.5 字段解析:
  • icmp_seq: ICMP数据包序号,从1开始递增,如果中间不连续代表丢包。
  • ttl: 生存时间,具体指允许数据包之间通过多个路由数或跳数,数据包每经过一个路由器,ttl会减1,当ttl归零时,这个数据包的生成周期结束,处理它的路由器会丢弃这个数据包。Linux系统TTL值为64或255.
  • time: 这个数据报的响应时间,时间越短,代表响应速度越快。

5.1.2 traceroute

5.1.2.1 基本功能:

跟踪从IP网络到给定主机的路由数据包。利用IP协议的生存时间(TTL)字段,并尝试从通往目标主机的路径上的每个网关引出ICMP TIME_EXCEEDED响应。一条路径上的每个设备traceroute默认要测3次,输出结果中包含每次测试的时间和设备名称及其IP地址。

5.1.2.2 基本语法
traceroute [选项] 域名
5.1.2.3 常用选项:
  • -d: 使用Socket层级的排错功能
  • -f: 设置第一个检测数据包的存活数值TTL的大小
  • -F: 不要分割数据包
  • -g: 设置来源路由网关,最多可设置8个
  • -i: 使用指定的网络界面送出数据包
  • -m: 设置检测数据包的最大存活数值TTL的大小
  • -N: 同时发送探测报文的个数
  • -n: 直接使用IP地址而不是主机名称
  • -p: 设置UDP传输协议的通信端口
  • -s: 设置本地主机送出数据包的IP地址
  • -v:详细显示指定的执行过程
  • -w: 设置等待远端主机回报时间
  • -r: 忽略普通的Routing Table,直接将数据包送到远端主机上。
  • -q: 指定向每个网关发送的数据包个数
5.1.2.4 使用示例:

1.显示IP地址,不查主机名

traceroute -n www.baidu.com

2.绕过正常路由表,直接发送到网络相连的主机

traceroute -r www.baidu.com

3.探测包使用的UDP端口设置为6888

traceroute -p 6888 www.baidu.com

5.1.3 mtr

5.1.3.1 基本功能:

网络诊断工具,结合了tracerouteping的功能,可以用于诊断网络中的丢包、延迟和路由的问题。

5.1.3.2 基本语法:
mtr [选项] 目标主机
5.1.3.3 常用选项:
  • -c, --report-cycles <次数>: 指定发送报告的次数,默认为10次。
  • -i,--interval <秒>: 指定发送报告的间隔时间,默认为1秒
  • -r, --report: 以报告模式运行,显示结果汇总。
  • -w,--report-wide: 以宽格式显示报告结果
  • -n,--no-dns: 禁止进行DNS反向解析,直接显示IP
  • -4,--ipv4: 仅使用IPV4地址
  • -6,--ipv6: 仅使用IPv6地址

5.1.4 telnet

5.1.4.1 基本功能:

一个用于远程登录和交互的网络工具,它可以通过TCP协议连接到远程主机的端口,以进行基于文本的通信。

5.1.4.2 基本语法:
telnet [选项] [主机名/IP地址] [端口号]
5.1.4.3 常用选项:
  • -l <用户名>: 指定登录远程主机时使用的用户名
  • -b <本地主机>: 指定本地主机的IP地址
  • -t <终端类型> : 指定终端类型
  • -a: 尝试自动登录,无需手动输入用户名和密码
5.1.4.4 使用示例

1.连接到远程主机的默认端口 23

telnet 主机名或IP地址

2.连接到指定端口

telnet 主机名或IP地址 端口号

3.指定用户名和密码

telnet -l 用户名 主机名或IP地址

4.自动登录, 使用当前用户的用户名和密码自动登录

telnet -a 主机名或IP地址

5.指定本地主机的IP地址

telnet -b 本地IP地址 主机名或IP地址

一旦建立Telnet连接,你就可以在Telnet会话中与远程主机进行交互。可以向远程主机发送命令和数据,并查看远程主机返回的响应。

5.1.4.5 注意事项:
  • Telnet发送的所有的数据都是明文传输的,包含用户名和密码等敏感信息、
  • 在一些系统中,默认情况下可能禁用了Telnet服务,防火墙也可能阻止。

5.1.5 nc

5.1.5.1 基本功能:

Netcat是一个网络工具,用于在网络上进行数据传输和调试。它可以在不同的网络协议下进行数据交换,如TCP和UDP。

5.1.5.2 基本语法
nc [选项] 主机名/IP地址 端口号
5.1.5.3 常用选项:
  • -l: 监听模式,用于监听指定端口上的连接请求。
  • -p <本地端口号>: 指定本地端口号
  • -u: 使用UDP协议
  • -v: 显示详细的调试信息
  • -n: 不执行DNS解析,直接使用IP地址进行连接
5.1.5.4 使用示例

1.连接到远程主机的指定端口

nc 主机名或IP地址 端口号

2.监听指定端口,有连接请求时进行响应

nc -l -p 端口号

3.使用UDP协议

nc -u 主机名/IP 端口号

4.使用指定的本地端口

nc -p 本地端口号 主机名或IP地址 端口号
5.1.5.5 注意事项

一旦建立连接,你就可以在 nc 的交互模式中进行数据传输。在交互模式下,你可以手动输入数据,然后发送给远程主机;也可以接收远程主机发送的数据,并在终端上显示。nc 提供了一个简单的方式来进行基于文本的数据交换。

5.1.6 nmap

5.1.6.1 基本功能:

用于网络探测和安全评估的强大工具,可以用于扫描远程主机和网络,以发现开放的端口、操作类型、服务版本信息。

5.1.6.2 基本语法
namp [选项] 目标主机或网络
5.1.6.3 常用选项:
  • -sS: TCP SYN扫描
  • -sU: UDP扫描
  • -sT: TCP扫描连接
  • -O: 操作系统检测
  • -A: 综合扫描,包括操作系统检测、版本检测.
  • -p <端口范围>: 指定扫描端口范围.
  • -F: 快速扫描,只扫描常见端口.
  • -v: 显示详细的输出信息
  • -T<扫描速度>: 指定扫描的速度,包括 paranoid、sneaky、polite、normal、aggressive 和 insane 六个级别
  • -oN <文件名>: 将扫描结果保存为普通文本文件
  • -oX <文件名>: 将扫描结果保存为XML格式文件
  • -iL <文件名>: 从文件中读取目标列表进行扫描。
5.1.6.4 使用示例:

1.扫描单个主机

nmap 目标主机或IP地址

2.扫描指定端口范围

nmap -p 端口范围 目标主机或IP地址

3.扫描整个子网

nmap 目标子网

4.综合扫描

nmap -A 目标主机或IP地址

5.扫描指定端口指定类型

nmap -sU 目标主机或IP地址

5.2 查看电脑网络信息

5.2.1 ifconfig

5.2.1.1 基本功能:

用于配置和显示网络接口信息的命令行工具。

5.2.1.2 基本语法
ifconfig [接口] [选项]
5.2.1.3 常用选项:
  • ifconfig: 查看网络接口信息。
  • ifconfig eth0: 查看特定接口信息
  • ifconfig eth0 up: 启动网络接口
  • ifconfig eth0 down: 禁用网络接口
  • ifconfig eth0 192.168.1.100: 设置IP地址
  • ifconfig eth0 netmask 255.255.255.0: 设置子网掩码
  • ifconfig eth0 broadcast 192.168.1.255: 设置广播地址
  • ifconfig eth0:1 192.168.1.101: 添加别名接口

5.2.2 ip

5.2.2.1 基本功能:

现代Linux系统中用于管理网络接口、路由、邻居信息和隧道信息的一种强大工具。ip命令属于iproute2套件,它提供了更灵活和强大的网络管理功能。

5.2.2.2 基本语法
ip [选项] 对象 命令
5.2.2.3 常用选项:
  • -4: 只显示IPv4相关信息。
  • -6: 只显示IPv6相关信息
  • -o: 输出结果以单行格式显示。
  • -s: 显示详细统计信息。
5.2.2.4 常用对象
  • link: 管理网络接口
  • addr: 管理IP地址
  • route: 管理路由表
  • neigh: 管理邻居条目。
5.2.2.5 使用示例

1.显示所有网络接口信息

ip link show 

2.启用网络接口

ip link set dev eth0 up

3.禁用网络接口

ip link set dev eth0 down

4.显示所有网络接口的IP地址信息

ip addr show

5.为接口添加IP地址

ip addr add 192.168.2.100/24 dev eth0

6.删除接口上的IP地址

ip addr del 192.168.1.100/24 dev eth0

7.显示路由表

ip route show

8.添加静态路由

ip route add 192.168.2.0/24 via 192.168.1.1

9.删除静态路由

ip route del 192.168.2.0/24

10.设置默认网关

ip route add default via 192.168.1.1

11.管理邻居表

ip neigh show

12.添加邻居条目

ip neigh add 192.168.1.100 lladdr 00:11:22:33:44:55 dev eth0

13.删除邻居条目

ip neigh del 192.168.1.10 dev eth0

5.3 查看网络连接信息

5.3.1 netstat

5.3.1.1 基本功能:

经典的网络诊断工具,用于显示各种网络相关的信息,如网络连接、路由表、接口统计、伪装连接等。

5.3.1.2 基本语法
netstat [选项]
5.3.1.3 常用选项:
  • -a: 显示所有连接中的套接字。
  • -t: 显示TCP协议的连接
  • -u: 显示UDP协议的连接
  • -l: 显示监听中的套接字
  • -n: 以数字格式显示地址和端口
  • -p: 显示使用套接字的进程标识符(PID)和程序名称
  • -r: 显示路由表
  • -s: 显示网络统计信息
5.3.1.4 使用示例

1.以数据格式(IP地址形式)

netstat -n

2.显示网络统计信息

netstat -s

5.3.2 ss

5.3.2.1 基本功能:

用于显示套接字统计信息,ss能够提供netstat所有信息,而且速度更快。

5.3.2.2 基本语法
ss [选项]
5.3.2.3 常用选项:
  • -a: 显示所有套接字。
  • -t: 显示TCP协议的连接。
  • -u: 显示UDP协议的连接
  • -l: 显示套接字的套接字
  • -n: 以数字格式显示地址和端口号。
  • -p: 显示使用套接字的进程标识符(PID)和程序名称。
  • -r: 解析主机名
  • -i: 显示网络接口信息
  • -s: 显示套接字统计信息
  • -4: 显示IPv4套接字
  • -6: 显示IPv6套接字

5.4 dns解析

5.4.1 nslookup

5.4.1.1 基本功能:

用于查询DNS记录的网络管理工具,广泛用于Windows、mocOs和Linux操作系统。它允许用户与DNS服务器交互,查询各种DNS记录,如A记录(地址记录)、MX记录(邮件交换记录)、NS记录(名称服务器记录)等。

5.4.1.2 基本语法:
nslookup [选项] [主机名]
5.4.1.3 常用选项:
  • [主机名]: 要查询的域名或IP地址。
  • -type=<类型>: 指定要查询的DNS记录类型,如A、MX、NS、CNAME、PTR等。
  • -query=<类型>:与-type相同,用于指定要查询的记录类型。
  • -timeout=<秒>: 等待DNS服务器响应时间
  • -retries=<秒>: 设置查询DNS服务器的重试次数。
  • -debug: 启用调试模式,显示详细的查询过程和响应。
  • -port=<端口号>: 指定DNS服务器的端口号(默认为53)。
5.4.14 使用示例:

1.基本查询

nslookup example.com

2.指定DNS服务器

nslookup example.com 8.8.8.8

3.查询特定类型的DNS记录

nslookup -type=MX example.com

4.查询NS记录

nslookup -type=NS example.com

5.反向DNS查询

nslookup 192.0.2.1

6.进入交互模式

nslookup

7.调试模式

nslookup -debug example.com
5.4.1.5 注意事项:
  • 权限问题: 在一些系统中,使用nslookup可能需要管理员权限。
  • DNS缓存: 查询结果可能受DNS缓存影响,实际IP地址可能与查询结果不同。

5.4.2 dig

5.4.2.1 基本功能:

现代操作系统中也有其他DNS查询工具。dig特别在显示详细的查询信息和支持高级查询选项方面更为强大。

5.4.2.2 基本功能:
dig [选项] [域名] [查询类型]
5.4.2.3 常用选项:
  • [域名]: 要查询的域名
  • [查询类型]:要查询的DNS记录类型,如A、MX、NS、CNAME、TXT、PTR等。默认是A记录。
  • @DNS服务器: 指定要使用的DNS服务器进行查询。
  • +short :简洁输出,只输出查询结果。
  • +trace: 跟踪整个查询过程,显示从跟服务开始的逐级查询信息。
  • +noall: 禁用所有默认输出。
  • +answer: 仅显示答案部分。
  • +stats: 显示统计信息。
  • +additional: 显示附加信息部分。
  • +authority: 显示权威应答部分。
  • -x: 反向DNS查询
5.4.2.4 使用示例:

1.基本查询

dig example.com

2.指定DNS服务器

dig @8.8.8.8 example.com

3.查询MX记录

dig example.com MX

4.查询NS记录

dig example.com NS

5.跟踪查询过程

dig example.com +trace

6.反向DNS查询

dig -x 99.184.216.216 

7.显示统计信息

dig example.com +stats

5.5 防火墙

5.5.1 iptables

5.5.1.1 基本功能:

iptables是Linux操作系统中用于设置、维护、检查IP数据包过滤规则的命令行工具。它通常用于配置网络防火墙。

5.5.1.2 基本语法
iptables [选项] [] [规则]
5.5.1.3 常用选项:
  • -A: 追加规则到指定链
  • -D: 删除指定链中的规则
  • -I :插入指定规则到指定链
  • -R: 替换指定链中的规则
  • -L: 列出指定链中的规则
  • -F: 清空指定链中的所有规则
  • -N: 创建新的用户自定义链
  • -X: 删除用户自定义链
  • -P: 设置默认策略
  • -t: 指定要操作的表,默认为filter
5.5.1.4 常用链
  • IINPUT:处理进入本地的所有数据包
  • OUTPUT:处理本机发送的所有数据包
  • FORWARD:处理经过本机转发的数据包
  • PREROUTING:在数据包到达路由决策之前处理(用于NAT)
  • POSTROUTING:在数据包离开路由之后处理(用于NAT)
5.5.1.5 匹配条件和目标
  • -s,--source: 指定源IP
  • -d,--destination: 指定目标IP地址
  • -p,--protocol: 指定协议
  • --deport: 指定目标端口
  • --sport:指定源端口
  • -j,--jump:指定目标动作(ACCEPT,DROP REJECT LOG)
5.5.1.6 iptables表类型:
  • filter表: 默认表,用于管理网络包的过滤规则。
    • 包含三个链; INPUT,OUTPUT,FORWARD
    • 常用于允许或拒绝网络包
  • nat表: 用于网络地址转换、包含源地址转化(SNAT)和目标地址转换(DNAT)
    • 包含三个链PREOUTINGPOSTROUTINGOUTPUT
    • 主要用于改变包的源地址或目标地址
  • mangle
    • 对于特殊的包修改,例如修改TOS(服务类型)字段或标记包
    • 包含五个链:PREROUTINGPOSTROUTINGINPUTOUTPUTFORWARD
    • 用于修改包的特定字段
  • raw
    • 用于配置不进行连接追踪的规则
    • 包含两个链:PREROUTINGOUTPUT
5.5.1.7 使用示例

1.查看所有规则

iptables -L

2.查看某个特定链的规则

iptables -L INPUT

3.允许来自特定IP地址的所有流量

iptables -A INPUT -s 192.168.1.100 -j ACCEPT

4.拒绝来自特定IP的所有流量

iptables -A INPUT -s 192.168.1.100 -j DROP

5.允许特定端口的TCP流量

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

6.删除链中的第一条规则

iptables -D INPUT 1

7.删除指定规则

iptables -D INPUT -s  192.168.1.100 -j ACCEPT

8.设置默认策略, 默认拒绝所有输入流量

iptables -P  INPUT DROP

9.将所有流向端口80的流量重定向到端口8080

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

10.将所有流向特定IP和端口的流量重定向到另一台及其

iptables -t nat -A PREROUTING -d 192.168.1.100 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:80

5.6 下载文件命令

5.6.1 wget

5.6.1.1 基本功能:

wget一个用于从网络上下载文件的命令行工具,支持HTTP、HTTPS和FTP等协议。wget能够递归下载网页、支持端点续传、代理、认证等。

5.6.1.2 基本语法:
wget [选项] [URL]
5.6.1.3 常用选项:
  • -o,--output-document=文件名: 将下载的内容保存到指定文件中。
  • -P, --directory-prefix=目录: 将文件下载到指定目录中
  • -c, --continue: 断点续传,继续下载未完成的文件
  • -b,--background: 在后台运行wget
  • -q, --quiet:安静模式,不输出信息
  • -r,--recursive:递归下载网页
  • -l,--level=递归深度: 指定递归下载的深度
  • -k,--convert-links: 下载后转换链接
  • -m,--mirror: 镜像网站
  • -N,--timestamping:仅下载比本地文件更新的文件
  • --limit-rate=速度: 限制下载速度
  • --no-check-certificate:不检查服务器SSL证书
  • -U,--user-agent=代理字符串: 设置用户代理字符串
  • --http-user=用户和--http-password=密码:用于http认证
  • --ftp-user=用户和--ftp-password=密码:用于FTP认证
5.6.1.4 使用示例:

1.使用自定义用户代理

wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" https://example.com

2.指定递归下载深度

wget -r -l 2 https://example.com

3.使用http认证下载文件

wget --http-user=username --http-password=password https://example.com/protectedfile.zip

5.7 网络抓包工具

5.7.1 tcpdump

5.7.1.1 基本功能:

tcpdump 是一个强大的命令行工具,用于捕获和分析网络流量。它通常用于网络故障排除、安全监控以及性能分析。tcpdump 可以捕获网络接口上的数据包,并显示其内容或将其保存到文件中以供后续分析。

5.7.1.2 基本语法:
tcpdump [选项] [表达式]
5.7.1.3 常用选项:
  • -i <接口>:指定要监听的网络接口。例如,eth0wlan0
  • -n:不要解析地址(主机名、端口号等),加快处理速度。
  • -v:详细模式,提供更多信息。
  • -nn:不要将地址和端口解析为与名称关联的数字。
  • -c <数量>:捕获指定数量的数据包后停止。例如,-c 100
  • -w <文件>:将捕获的数据包写入文件,而不是标准输出。
  • -r <文件>:从指定的文件读取数据包,而不是从网络接口捕获。
  • -s <大小>:设置每个捕获数据包的大小,默认是65536字节。
5.7.1.4 使用示例:

1.捕获所有数据包

这将在 eth0 接口上捕获所有经过的数据包。

sudo tcpdump -i eth0

2.捕获特定数量的数据包

这将在 eth0 接口上捕获100个数据包后停止。

sudo tcpdump -i eth0 -c 100

3.捕获并将数据包保存到文件

这将在 eth0 接口上捕获所有数据包,并将其保存到 capture.pcap 文件中。

sudo tcpdump -i eth0 -w capture.pcap

4.从文件读取数据包

这将从 capture.pcap 文件中读取数据包并显示它们。

sudo tcpdump -r capture.pcap

5.捕获HTTP流量

这将在 eth0 接口上捕获所有目标端口为80的TCP流量(通常是HTTP流量)。

sudo tcpdump -i eth0 tcp port 80

6.捕获特定IP地址的流量

这将在 eth0 接口上捕获所有源或目标地址为 192.168.1.1 的数据包。

sudo tcpdump -i eth0 host 192.168.1.1

7.捕获并显示更多详细信息

这将在 eth0 接口上捕获所有数据包,并显示非常详细的信息。

sudo tcpdump -i eth0 -vvv
5.7.1.5 组合使用:

表达式语法:

tcpdump 支持一种类似于BPF(Berkeley Packet Filter)的语法来过滤数据包。例如:

  • tcp:仅捕获TCP协议的数据包。
  • udp:仅捕获UDP协议的数据包。
  • port <端口>:捕获源端口或目标端口为指定端口的数据包。
  • host <IP地址>:捕获源地址或目标地址为指定IP地址的数据包。
  • net <网络/子网>:捕获源地址或目标地址属于指定网络的数据包。

示例:

可以组合多个条件来创建更复杂的过滤规则。例如:在 eth0 接口上捕获所有目标端口为80且源或目标地址为 192.168.1.1 的TCP流量。

sudo tcpdump -i eth0 tcp and port 80 and host 192.168.1.1

相关资源

shell脚本 从入门到精通
[ DOS 命令基础 1 ] DOS 命令命令详解-系统查询相关命令
[ DOS 命令基础 2 ] DOS 命令命令详解-网络相关命令
[ DOS 命令基础 3 ] DOS 命令命令详解-文件操作相关命令
[ DOS 命令基础 4 ] DOS 命令命令详解-端口进程相关命令
[ Linux 命令基础 7 ] Linux 命令详解-磁盘管理相关命令
[ Linux 命令基础 6 ] Linux 命令详解-权限和用户管理命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/11180.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

计算机课程管理:Spring Boot实现的工程认证解决方案

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了基于工程教育认证的计算机课程管理平台的开发全过程。通过分析基于工程教育认证的计算机课程管理平台管理的不足&#xff0c;创建了一个计算机管理基于工程教育认…

【eNSP】企业网络架构链路聚合、数据抓包、远程连接访问实验(二)

一、实验目的 网络分段与VLAN划分&#xff1a; 通过实验了解如何将一个大网络划分为多个小的子网&#xff08;VLAN&#xff09;&#xff0c;以提高网络性能和安全性。 VLAN间路由&#xff1a; 学习如何配置VLAN间的路由&#xff0c;使不同VLAN之间能够通信。 网络设备配置&am…

Ubuntu 的 ROS 2 操作系统安装与测试

引言 机器人操作系统&#xff08;ROS, Robot Operating System&#xff09;是一种广泛应用于机器人开发的开源框架&#xff0c;提供了丰富的库和工具&#xff0c;支持开发者快速构建、控制机器人并实现智能功能。 当前&#xff0c;ROS 2 的最新长期支持版本为 Humble Hawksbil…

软件工程笔记一

目录 软件的概念、特性和分类 软件与程序 软件的特性 软件的分类 软件危机与软件工程 软件危机 如何摆脱软件危机? 软件工程概念的提出 什么是软件工程&#xff1f; 软件工程的若干定义 系统工程的目标 软件工程的基本原理 软件工程的目标 软件的质量特性 软件生存…

CEO代码 (CEO Code)

https://caseinterview.com/wp-content/uploads/2015/10/The-CEO-Code-Rules-by-Victor-Cheng.pdf 源自 Victor Cheng CEO们使用一种特殊的语言。这种语言不是英语、西班牙语、普通话或印地语&#xff0c;而是一种置于我们日常语言之上的元语言。 CEO们很快就能识别出谁能说这…

LVGL实现冒泡事件

在LVGL&#xff08;LittlevGL&#xff09;中&#xff0c;事件冒泡是一个重要的概念&#xff0c;它允许事件从一个对象传递到其父对象&#xff0c;直到找到一个能够处理该事件的对象或者达到顶层对象。以下是如何在LVGL中实现和使用事件冒泡的概述&#xff1a; 事件冒泡的理解 …

深入理解计算机系统-信息的表示和处理

2.1 信息存储 大多数计算机使用8位的块&#xff0c;或者字节&#xff0c;作为最小的可寻址的内存单位&#xff0c;而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组&#xff0c;称为虚拟内存。 内存的每个字节都由一个唯一的数字来表示&#xff0c;称为它的…

JAVA-顺序表ArrayList(实现ArrayList)

1.线性表 线性表 &#xff08; linear list &#xff09; 是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列... 线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条直线。…

DCN DCWS-6028神州数码 AC 设备配置笔记

DCN DCWS-6028神州数码 AC 设备配置笔记 一、前期准备 PC 电脑网络配置 目的:使 PC 能够访问 AC 的 web 管理控制台。配置详情:web 管理控制台地址为 192.168.1.10,将 PC 电脑 IP 地址配置在 192.168.1.1 - 192.168.1.254 网段内,如 192.168.1.110,子网掩码 255.255.255.…

树概念及结构

树概念及结构 6.1 树概念及结构6.1.1 树的概念6.1.2 树的术语解读6.1.3 树的表示 6.1 树概念及结构 6.1.1 树的概念 类似八股文一样的东西&#xff0c;需要记一下。 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系…

MySQL主从复制原理

MySQL主从复制是一种异步、基于日志的、单向的数据库复制技术&#xff0c;它通过在主服务器上启用二进制日志&#xff08;binlog&#xff09;并将其发送给一个或多个从服务器&#xff0c;实现了从服务器与主服务器之间的数据同步。以下是MySQL主从复制原理的详细解释&#xff1…

AMD-OLMo:在 AMD Instinct MI250 GPU 上训练的新一代大型语言模型。

AMD-OLMo是一系列10亿参数语言模型&#xff0c;由AMD公司在AMD Instinct MI250 GPU上进行训练&#xff0c;AMD Instinct MI250 GPU是一个功能强大的图形处理器集群&#xff0c;它利用了OLMo这一公司开发的尖端语言模型。AMD 创建 OLMo 是为了突出其 Instinct GPU 在运行 “具有…

Spring Boot框架:构建符合工程认证的计算机课程

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

实现链式结构二叉树

目录 需要实现的操作 链式结构二叉树实现 结点的创建 前序遍历 中序遍历 后序遍历 计算结点个数 计算二叉树的叶子结点个数 计算二叉树第k层结点个数 计算二叉树的深度 查找值为x的结点 销毁 层序遍历 判断是否为完全二叉树 总结 需要实现的操作 //前序遍历 void …

DU模拟器(S5040A Open RAN Studio Player and Capture Appliance)

下行测试过程&#xff0c;由是德科技(https://www.keysight.com/cn/zh/home.html)的DU模拟器&#xff08;S5040A Open RAN Studio Player and Capture Appliance&#xff09;产生标准5G NR下行测试信号&#xff0c;经前传接口发送到小站进行基带处理、中射频、变频后从相控阵天…

工程认证标准下的Spring Boot计算机课程管理策略

5系统详细实现 5.1 管理员模块的实现 5.1.1 教师信息管理 基于工程教育认证的计算机课程管理平台的系统管理员可以管理教师&#xff0c;可以对教师信息修改删除以及查询操作。具体界面的展示如图5.1所示。 图5.1 教师信息管理界面 5.1.2 通知公告管理 系统管理员可以对通知公…

GeoHash处理经纬度,降维,空间填充曲线

个人博客&#xff1a;无奈何杨&#xff08;wnhyang&#xff09; 个人语雀&#xff1a;wnhyang 共享语雀&#xff1a;在线知识共享 Github&#xff1a;wnhyang - Overview 参考 https://segmentfault.com/a/1190000042971576 GeoHash原理以及代码实现_geohash编码-CSDN博客…

游戏引擎学习第三天

视频参考:https://www.bilibili.com/video/BV1XTmqYSEtm/ 之前的程序不能退出&#xff0c;下面写关闭窗体的操作 PostQuitMessage 是 Windows API 中的一个函数&#xff0c;用于向当前线程的消息队列发送一个退出消息。其作用是请求应用程序退出消息循环&#xff0c;通常用于处…

CSS中常见文本居中技巧详解

在网页设计中&#xff0c;文本居中是非常常见且重要的布局需求之一。无论是为了美观还是为了更好地传达信息&#xff0c;掌握文本居中的方法对于前端开发者来说都是必不可少的技能。本文将详细介绍几种常用的CSS文本居中方法&#xff0c;帮助读者解决实际开发中的问题。 默认情…

Java基础教程(001):Java基础概念:注释、关键字、字面量

文章目录 1、Java基础概念1.1 注释1.2 关键字1.3 字面量1.4 制表符 1、Java基础概念 1.1 注释 【1】注释概念 注释是在程序指定位置添加的说明性信息。 简单理解&#xff0c;就是对代码的一种解释。 【2】注释分类 单行注释&#xff1a;// 注释信息多行注释&#xff1a;/…