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 头部的一个字段,作用是防止数据包在网络中 无限循环转发 。在实际网络安全/运维中通常用于 推测目标系统类型和网络距离 。
工作机制:
- 数据包从源主机发出时会带一个 初始 TTL
- 每经过 一台路由器
- TTL 减 1
- 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
- 进入网卡配置目录:
cd /etc/sysconfig/network-scripts/
- 编辑网卡:
vi ifcfg-eth0
- 写入内容:
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
- 重启网络服务:
systemctl restart network
kali_linux配置方法:
nmcli(NetworkManager Command Line Interface) 是 Linux 中用于管理网络的命令行工具,本质上是对 NetworkManager 服务 的控制接口。
通俗来说,就是允许用户通过命令行对Linux网络服务进行管理
- 查看连接名:
nmcli connection show
- 修改:
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
- 配置生效:
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 |
失败自动重试 |