【Linux】网络命令

ping

指令参数 指令效果简单说明(30字内)
-c 次数 指定发送ICMP请求次数
-i 间隔 指定每次发送间隔秒
-W 秒 设置单次请求等待超时
-w 秒 设置整体测试持续时间
-s 字节 指定ICMP数据包大小
-t TTL 设置数据包TTL值
-f 洪泛模式快速发送包
-q 只输出统计结果
-a 每次收到回应发提示音
-n 只显示IP不做DNS解析
-4 强制使用IPv4
-6 强制使用IPv6
linux下的ping命令会一直ping,直到手动结束。
`10 packets transmitted, 10 received, 0% packet loss, time 8999ms
rtt min/avg/max/mdev = 22.746/26.025/36.043/3.898 ms

TTL

TTL 是 IP 头部的一个字段,作用是防止数据包在网络中 无限循环转发 。在实际网络安全/运维中通常用于 推测目标系统类型和网络距离

工作机制:

  1. 数据包从源主机发出时会带一个 初始 TTL
  2. 每经过 一台路由器
  3. TTL 减 1
  4. TTL = 0 时 ,路由器 丢弃该包并返回 ICMP 超时
    不同操作系统默认 TTL 不同
操作系统 默认TTL
Linux / macOS / Unix 64
Windows 128
Cisco / 网络设备 255

ifconfig

指令参数 指令效果简单说明(30字内)
-a 显示所有网卡(含未启用)
-s 简洁统计信息输出
up 启用指定网卡
down 关闭指定网卡
promisc 开启混杂模式(抓包用)
-promisc 关闭混杂模式
mtu <值> 设置最大传输单元
netmask <掩码> 设置子网掩码
broadcast <地址> 设置广播地址
hw ether 修改网卡MAC地址
txqueuelen <值> 设置发送队列长度
返回内容重点部分
字段 含义说明(30字内)
eth0 网卡名(攻击/监听目标)
inet 192.168.126.128 本机IPv4地址(横向/连接)
netmask 255.255.255.0 子网范围(判断同网段)
broadcast 192.168.126.255 广播地址(扫描用)
ether 00:0c:29:c5:97:02 MAC地址(内网识别)
mtu 1500 数据包最大长度
RX packets / bytes 接收流量(是否有回包)
TX packets / bytes 发送流量(是否发出请求)
RX errors / dropped 接收异常(抓包分析点)
TX errors 发送异常(网络问题)
flags=UP/RUNNING 网卡是否正常工作
RX -->接收
TX --> 发送
指令使用模板 指令效果简单说明(30字内)
ifconfig 查看已启用网卡信息
ifconfig -a 查看所有网卡(含未启用)
ifconfig eth0 up 启用指定网卡
ifconfig eth0 down 关闭指定网卡
ifconfig eth0 192.168.1.10 临时设置IP地址
ifconfig eth0 netmask 255.255.255.0 设置子网掩码
ifconfig eth0 192.168.1.10 netmask 255.255.255.0 同时设置IP和掩码
ifconfig eth0 mtu 1400 修改MTU值
ifconfig eth0 promisc 开启混杂模式(抓包)
ifconfig eth0 -promisc 关闭混杂模式
ifconfig eth0 hw ether 00:11:22:33:44:55 修改MAC地址
ifconfig eth0 grep inet
返回网卡类型
网卡类型 含义说明(30字内)
eth0 / ens33 有线网卡(最常见接口)
wlan0 / wlp2s0 无线网卡(WiFi接口)
lo 本地回环接口(127.0.0.1)
docker0 Docker虚拟网桥
br0 网桥接口(虚拟交换机)
virbr0 KVM虚拟网络桥
tun0 TUN隧道接口(VPN常见)
tap0 TAP虚拟网卡(桥接VPN)
vethXXXX 虚拟以太网对(容器通信)
ppp0 PPP拨号接口(老式拨号/VPN)

route

指令参数 指令效果简单说明(30字内)
-n 以数字形式显示路由表
-A inet 指定IPv4路由表
-A inet6 指定IPv6路由表
add 添加一条路由规则
del 删除一条路由规则
-net 操作目标为网络路由
-host 操作目标为主机路由
gw 指定下一跳网关
netmask 指定网络子网掩码
dev 指定使用的网卡接口
route输出字段内容
字段 含义 安全/运维视角理解
Destination 目标网络/主机 数据包要去的地址范围
Gateway 下一跳网关 是否需经网关转发
Genmask 子网掩码 决定匹配的地址范围
Flags 路由标志 标识路由类型/状态
Metric 路由优先级 越小优先级越高
Ref 引用计数 基本无用,现代系统忽略
Use 使用次数 被匹配转发次数
Iface 出口网卡 数据包从哪个接口发出
Flags 常见取值
标志 含义
U 路由可用
G 需要网关
H 目标是主机(非网段)
D 动态路由
M 修改过的路由
route命令使用模板
指令使用模板 指令效果简单说明(30字内)
route -n 查看路由表(数字形式)
route add default gw 192.168.1.1 添加默认网关
route del default gw 192.168.1.1 删除默认网关
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0 添加网段路由
route del -net 192.168.1.0 netmask 255.255.255.0 删除网段路由
route add -host 192.168.1.10 gw 192.168.1.1 添加主机路由
route del -host 192.168.1.10 删除主机路由
route add default gw 192.168.1.1 dev eth0 指定网卡添加默认路由
route -A inet6 查看IPv6路由表
实际优先使用ip命令

ip

指令使用模板 指令效果简单说明(30字内)
ip addr 查看所有网卡IP信息
ip addr show eth0 查看指定网卡IP
ip addr add 192.168.1.10/24 dev eth0 临时添加IP地址
ip addr del 192.168.1.10/24 dev eth0 删除网卡IP地址
ip link set dev eth0 up 启用网卡
ip link set dev eth0 down 禁用网卡
ip route 查看路由表
ip route add default via 192.168.1.1 添加默认网关
ip route add 192.168.2.0/24 via 192.168.1.1 添加静态路由
ip route del 192.168.2.0/24 删除静态路由
ip neigh 查看ARP缓存表
ip neigh flush all 清空ARP缓存
ip -s link 查看网卡流量统计
  • ip addr add为临时配置,重启后失效
  • 添加IP必须带掩码,如/24否则报错

ip地址永久配置

以下方法适用于:CentOS / RHEL

  1. 进入网卡配置目录:cd /etc/sysconfig/network-scripts/
  2. 编辑网卡:vi ifcfg-eth0
  3. 写入内容:
bash 复制代码
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static

IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

TYPE=Ethernet
DEFROUTE=yes
USERCTL=yes
  1. 重启网络服务:systemctl restart network

kali_linux配置方法:
nmcli(NetworkManager Command Line Interface) 是 Linux 中用于管理网络的命令行工具,本质上是对 NetworkManager 服务 的控制接口。

通俗来说,就是允许用户通过命令行对Linux网络服务进行管理

  1. 查看连接名:nmcli connection show
  2. 修改:
bash 复制代码
nmcli connection modify "Wired connection 1" \
ipv4.addresses 192.168.126.100/24 \
ipv4.gateway 192.168.126.2 \
ipv4.dns 8.8.8.8 \
ipv4.method manual
  1. 配置生效:
bash 复制代码
nmcli connection down "Wired connection 1"
nmcli connection up "Wired connection 1"

kali_linux创建一个新的连接并永久配置ip

同一个网卡可以对应多个连接,同一时间一个网卡只能启用一个连接

创建新的连接:

bash 复制代码
# nmcli connection add type ethernet ifname 网卡名 con-name 自定义名字
nmcli connection add type ethernet ifname eth0 con-name my-static-ip

按照上述写法配置ip

启用新的连接:

bash 复制代码
nmcli connection up "my-static-ip"

删除连接:

bash 复制代码
nmcli connection delete "my-static-ip"

重启网络:

bash 复制代码
systemctl restart NetworkManager

netstat

指令参数 指令效果简单说明(30字内)
-t 显示TCP连接
-u 显示UDP连接
-l 仅显示监听端口
-a 显示所有连接与监听
-n 用IP和端口号显示
-p 显示进程PID与程序名
-r 显示路由表
-i 显示网卡统计信息
-s 显示协议统计信息
-c 持续刷新输出
-o 显示定时器信息
监听端口:某个程序在一台主机上"打开了一个端口",并且持续等待外部连接请求
常用组合:
netstat -lntp:查看当前系统中所有 正在监听的 TCP 服务 + 对应进程
netstat -antup:查看系统中 所有 TCP + UDP 连接(包括监听 + 已连接)+ 对应进程

nslookup

指令使用模板 指令效果简单说明(30字内)
nslookup www.baidu.com 查询域名对应IP
nslookup www.baidu.com 8.8.8.8 指定DNS服务器解析
nslookup -type=A www.baidu.com 查询A记录(IPv4)
nslookup -type=AAAA www.baidu.com 查询IPv6地址
nslookup -type=MX baidu.com 查询邮件服务器记录
nslookup -type=NS baidu.com 查询权威DNS服务器
nslookup -type=TXT baidu.com 查询TXT记录(验证信息)
nslookup 8.8.8.8 反查IP对应域名
nslookup 进入交互模式
server 1.1.1.1(交互中) 切换DNS服务器
set type=MX(交互中) 设置查询记录类型

nslookup不询问本地hosts文件,只询问DNS服务器,因此修改hosts文件不影响nslookup结果。

traceroute

路由追踪命令

指令使用模板 指令效果简单说明(30字内)
traceroute 8.8.8.8 跟踪到目标IP路径
traceroute baidu.com 跟踪域名解析路径
traceroute -n 8.8.8.8 禁止DNS解析更快
traceroute -I 8.8.8.8 使用ICMP探测
traceroute -T 8.8.8.8 使用TCP探测
traceroute -p 80 8.8.8.8 指定目标端口
traceroute -m 10 8.8.8.8 限制最大跳数
traceroute -q 1 8.8.8.8 每跳只发1个包
traceroute -w 1 8.8.8.8 设置超时时间
traceroute -s 192.168.1.10 8.8.8.8 指定源IP发包
使用traceroute探测时,中间路由器没有返回内容,原因可能是被防火墙拦截,或者路由器配置不允许响应探测。

telnet

指令使用模板 指令效果简单说明(30字内)
telnet 192.168.1.1 测试主机连通性
telnet 192.168.1.1 80 测试指定端口是否开放
telnet example.com 443 测试远程服务端口
telnet localhost 22 本机端口连通测试
telnet -l user 192.168.1.1 指定用户登录远程主机
telnet 192.168.1.1 < file.txt 发送文件内容到目标
telnet 192.168.1.1 25 测试SMTP服务
telnet 192.168.1.1 21 测试FTP服务端口

nmap

指令参数 指令效果简单说明(30字内)
-sS SYN半开扫描,隐蔽性高
-sT TCP全连接扫描
-sU UDP端口扫描
-p 80 扫描指定端口
-p 1-1000 扫描端口范围
-p- 扫描全部65535端口
-A 开启系统识别+版本探测
-O 识别目标操作系统
-sV 探测服务版本
-Pn 跳过主机存活检测
-T4 加快扫描速度
-v 显示详细扫描过程
-vv 更详细输出
-oN file.txt 输出普通格式结果
-oX file.xml 输出XML格式
--open 仅显示开放端口
--top-ports 100 扫描常用100端口
--script=vuln 执行漏洞扫描脚本
-D IP1,IP2 伪装源IP混淆扫描
-f 分片数据包绕过检测
-sP 扫描目标网络内在线的主机

wget

指令使用模板 指令效果简单说明(30字内)
wget http://example.com/file.txt 下载单个文件
wget -O newname.txt http://example.com/file.txt 指定保存文件名
wget -P /tmp http://example.com/file.txt 指定下载目录
wget -c http://example.com/file.iso 断点续传下载
wget -b http://example.com/file.iso 后台下载
wget -i url.txt 批量下载URL列表
wget -r http://example.com/ 递归下载网站
wget -np -r http://example.com/dir/ 仅当前目录递归
wget --limit-rate=500k http://example.com/file 限速下载
wget --user=user --password=pass http://example.com/file 认证下载资源

curl

指令使用模板 指令效果简单说明(30字内)
curl http://example.com 获取网页内容
curl -O http://example.com/file.txt 下载并保持原名
curl -o new.txt http://example.com/file.txt 指定文件名下载
curl -I http://example.com 查看响应头信息
curl -X POST http://example.com/api 发送POST请求
curl -d "user=admin&pass=123" http://example.com/login 提交表单数据
curl -H "Authorization: Bearer xxx" http://api.example.com 添加请求头
curl -u user:pass http://example.com 基本认证访问
curl -x http://127.0.0.1:8080 http://example.com 通过代理请求
curl -k https://example.com 忽略证书验证
curl -L http://example.com 跟随重定向
curl --limit-rate 500k http://example.com/file 限速下载
指令参数 指令效果简单说明(30字内)
-X 指定请求方法(GET/POST等)
-d 发送POST数据
-H 自定义请求头
-A 设置User-Agent
-b 发送Cookie
-c 保存Cookie到文件
-u HTTP基本认证
-o 输出到指定文件
-O 按原名保存文件
-L 跟随重定向
-I 仅获取响应头
-k 忽略SSL证书验证
-x 使用代理访问
--data-urlencode URL编码POST数据
--limit-rate 限制下载速度
-s 静默模式无输出
-v 显示详细请求过程
--connect-timeout 设置连接超时
--retry 失败自动重试
相关推荐
Chockmans2 小时前
春秋云境CVE-2018-12613
安全·web安全·网络安全·春秋云境·cve-2018-12613
李白你好2 小时前
16个漏洞扫描器整合工具
网络安全
一名优秀的码农2 小时前
vulhub系列-60-The Planets: Earth(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
BUG_MeDe2 小时前
从Json对象中提取某个对象的一点注意--libjson-c
linux·json
坚持就完事了2 小时前
Linux的which命令
linux·运维·服务器
skywalk81632 小时前
kitto_plus报错:AttributeError: module ‘kotti_plus‘ has no attribute ‘security‘
linux·开发语言·python
和小潘一起学AI2 小时前
centOS安装neo4j
linux·运维·服务器
HealthScience3 小时前
H20服务器多卡运行有错误gpu_partition ,tmux错误
linux·运维·服务器
188号安全攻城狮3 小时前
【前端安全】Trusted Types 全维度技术指南:CSP 原生 DOM XSS 防御终极方案
前端·安全·网络安全·xss