Shell IV 网络相关命令
Shell-IV-网络相关命令
什么是网络?
是OSI的7层模型? 还是TCP/IP 协议簇?wifi/移动通信的空口互联? 又或者是内核进程的虚拟数据转发?
- 网络的本质基于预定义的通信协议通过物理介质(或虚拟物理介质如虚拟端口,虚拟mac地址)在设备间进行数据传输的一种组织结构。
- 网络是“有层次”的,无论是固网通信还是空口通信。数据包的传输都在进行一个“封装-解封装”的过程
- 网络是“动态”的,端到端的网络通信,需要网卡持续监听外部网络接收到的数据包,并通过中断触发内核来对数据包进行处理
具体的可以查看后续的网络协议解析
IP/网卡查询
ifconfig (old)
ifconfig 提供了简单的查询网卡以及ip信息的功能
1 |
|
ip addr
新一代的ip 网络查询/配置命令
1 |
|
ip link
查询 网络链路状态,虚拟网卡配置
1 |
|
ip netns
创建/设置 linux 网络命名空间
网络命名可以将其所在进程的网络与宿主机进行隔离
1 |
|
寻址/路由
IP所处的网络层 主要负责接入网络的设备寻址和数据转发
arp
arp 协议是工作在数据链路层-网络层中间的 数据协议,其通过广播模式向广播域内所有设备请求其所需ip地址对应的mac地址,通常用于网络接入(查找网关),和冲突检测(是否有同ip设备上线同一局域网)。使用arp 命令可以查看本地的ip地址映射表项
1 |
|
ip route
提供了本地路由的查询功能
1 |
|
网络状态
netstat
1 |
|
ss
socket 信息查询
1 |
|
连通性/请求查询
ping
ping命令用来检查ip是否可以与对端正常通信,底层使用的是icmp协议。icmp协议中定义了一个字段(ttl time to live 存活时间)。这里的time 是在网络中传输时,没经过一个网络设备则会-1。当为0时数据包被丢弃。linux中的ping持续执行,window 会请求4次
1 |
|
nslookup
1 |
|
curl
通过命令行创建http请求
1 |
|
wget
1 |
|
netcat
简易tcp连接工具
1 |
|
iperf
流量性能测试工具
1 |
|
tcpdump
数据流量捕获工具
1 |
|
Shell IV 网络相关命令
http://gadoid.io/2025/04/09/Shell-IV-网络相关命令/