免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。 #陇羽sec#
目录
基本网络枚举
基本网络工具
网络配置
网络连接
网络连接状态查看工具
二层地址查看工具
路由信息
路由追踪工具
基本网络枚举
基本网络工具
ifconfig
ifconfig 是一个用于配置和显示网络接口卡(NIC)信息的命令行工具。它通常用于查看和配置网络接口的状态、IP地址、子网掩码、广播地址等信息。
ip addr
ip addr 是 iproute2 工具包中的一个命令,用于显示和管理网络接口的IP地址。它提供了比 ifconfig 更现代和更强大的功能,是 ifconfig 的替代品。
sudo ifdown etho
sudo ifdown etho 命令用于关闭指定的网络接口。在这个例子中,etho 是网络接口的名称。ifdown 通常与 ifup 配对使用,用于启动和停止网络接口。
sudo ifup etho
sudo ifup etho 命令用于启动指定的网络接口。在这个例子中,etho 是网络接口的名称。ifup 通常与 ifdown 配对使用,用于启动和停止网络接口。
网络配置
/etc/network/interfaces 和 NetworkManager
/etc/network/interfaces
/etc/network/interfaces 是在 Debian 系统及其衍生发行版(如 Ubuntu)中用于配置网络接口的文件。这个文件使用简单的文本格式来定义网络接口及其配置参数,如 IP 地址、子网掩码、网关和 DNS 服务器等。通过编辑这个文件,可以静态配置网络接口,使其在系统启动时自动配置。
NetworkManager
NetworkManager 是一个用于管理和配置网络连接的守护进程。它提供了一个图形用户界面(GUI),使得配置和管理网络连接变得更加简单和直观。NetworkManager 支持动态配置(如 DHCP)和静态配置,并且可以自动管理无线网络连接。
联系与区别
联系:两者都是用于配置和管理网络接口的工具。在某些情况下,它们可以共享配置,但需要注意的是,它们可能会产生冲突。
区别:
/etc/network/interfaces 是一个静态配置文件,适用于没有 GUI 的环境,如服务器。
NetworkManager 提供了一个 GUI,适用于有桌面环境的系统,特别是便携设备,如笔记本电脑。
/etc/network/interfaces 和 NetworkManager 不能同时共存。如果 NetworkManager 发现 /etc/network/interfaces 被修改,它会关闭自己(显示为“未托管”),除非 managed 设置为 true。
使用场景
/etc/network/interfaces:适用于没有 X 环境的环境,如服务器;或者那些完全不需要改动连接的场合。
NetworkManager:适用于有桌面环境的系统,特别是便携设备,如笔记本电脑,网络连接情况随时会变的场合。
配置冲突解决
如果想在命令行下配置网络,可能需要关闭 NetworkManager 服务,打开 network 服务。可以通过以下命令实现:
chkconfig --level 2345 NetworkManager off
chkconfig --level 2345 network on
service NetworkManager stop
service network start
网络连接
网络连接状态查看工具
netstat -natup 、ss -natup
netstat 和 ss 都是用于显示网络连接、路由表、接口统计、伪装连接和多播成员的工具。-natup 参数组合用于显示所有TCP连接(包括监听和非监听状态)、UDP连接、地址转换(NAT)信息、用户信息和进程信息。
netstat -natup
netstat -natup 命令用于显示所有TCP和UDP连接,包括监听和非监听状态的连接,以及相关的进程信息。
参数解释
-n: 显示数字形式的地址和端口号,而不是尝试解析主机名和服务名。
-a: 显示所有连接和监听端口。
-t: 仅显示TCP连接。
-u: 仅显示UDP连接。
-p: 显示与连接相关的进程ID和程序名称。
示例输出
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/httpd
tcp 0 0 192.168.1.100:22 192.168.1.200:5678 ESTABLISHED 5678/sshd
udp 0 0 0.0.0.0:53 0.0.0.0:* 7890/named
ss -natup
ss -natup 命令与 netstat -natup 类似,但它使用 ss 工具来显示网络连接信息。ss 是 netstat 的替代工具,通常更快且功能更强大。
参数解释
-n: 显示数字形式的地址和端口号。
-a: 显示所有连接和监听端口。
-t: 仅显示TCP连接。
-u: 仅显示UDP连接。
-p: 显示与连接相关的进程信息。
示例输出
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:80 *:* users:(("httpd",pid=1234,fd=4))
ESTAB 0 0 192.168.1.100:22 192.168.1.200:5678 users:(("sshd",pid=5678,fd=3))
UNCONN 0 0 0.0.0.0:53 *:* users:(("named",pid=7890,fd=6))
总结
netstat -natup 和 ss -natup 都可以用于显示网络连接信息,但 ss 通常更快且功能更强大。
两者都支持显示TCP和UDP连接,以及相关的进程信息。
使用 -n 参数可以避免DNS解析,直接显示数字形式的地址和端口号。
二层地址查看工具
arp -en 命令用于显示ARP(Address Resolution Protocol)缓存中的所有条目,并以数字方式显示IP地址。
参数解释
-e: 以易读的格式显示ARP缓存条目。
-n: 以数字方式显示IP地址,避免解析主机名。
示例输出
Address HWtype HWaddress Flags Mask Iface
192.168.1.1 ether 00:19:8f:5f:bd:87 C eth0
192.168.1.2 ether 00:e0:b1:ca:5a:48 C eth0
解释
Address: IP地址。
HWtype: 硬件类型,通常是ether表示以太网。
HWaddress: MAC地址。
Flags: 标志,C表示缓存条目是有效的。
Mask: 子网掩码。
Iface: 网络接口名称。
总结
arp -en 命令用于显示ARP缓存中的所有条目,并以数字方式显示IP地址,避免解析主机名。这有助于快速查看和诊断网络连接问题。
路由信息
route
route命令用于查看和管理系统的网络路由表。它主要用于显示、添加或删除网络路由。在现代的Linux系统中,推荐使用ip命令来代替route命令,因为ip命令提供了更多的功能和灵活性。
iproute
ip route命令是Linux系统中用于管理和查看IP路由表的工具。它属于iproute2套件的一部分,该套件提供了一系列用于网络管理的强大工具。ip route命令可以用来添加、删除和查看路由信息。
sudo ip route add 10.13.37.0/24 dev eth0
命令解释
sudo ip route add 10.13.37.0/24 dev eth0 这条命令的作用是:
sudo:以超级用户权限执行后续命令。
ip route add:向路由表中添加一条路由规则。
10.13.37.0/24:目标网络,表示 10.13.37.0 到 10.13.37.255 的 IP 地址范围。
dev eth0:指定网络接口设备 eth0 作为路由出口。
路由追踪工具
traceroute offensive-security.com
traceroute 命令简介
traceroute 是一个网络诊断工具,用于显示数据包从源主机到目标主机所经过的路由器(网关)。它通过发送具有递增的生存时间(TTL)值的数据包来实现这一点,并记录每个路由器的响应时间。
命令格式
traceroute [选项] 目标主机
常用选项
-d:使用 Socket 层级的排错功能。
-F:设置勿离断位。
-g:设置来源路由网关,最多可设置8个。
-i:使用指定的网络界面送出数据包。
-p:设置 UDP 传输协议的通信端口。
-r:忽略普通的 Routing Table,直接将数据包送到远端主机上。
-t:设置检测数据包的 TOS 数值。
-v:详细显示指令的执行过程。
-x:开启或关闭数据包的正确性检验。
示例命令
要追踪到 offensive-security.com 的路径,可以使用以下命令:
traceroute offensive-security.com
输出解释
traceroute 命令的输出通常包括以下信息:
序列号:表示每一跳(hop),即经过的每一个路由器。
响应时间:单位是毫秒(ms),表示数据包从发送到接收到响应的时间。
路由器地址:经过的每一个路由器的 IP 地址或主机名。
示例输出
traceroute to offensive-security.com (93.174.91.4), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 1.234 ms 1.345 ms 1.456 ms
2 10.0.0.1 (10.0.0.1) 2.345 ms 2.456 ms 2.567 ms
...
注意事项
如果某些路由器没有响应,输出中可能会显示星号(*)。
防火墙可能会阻止 ICMP 报文的返回,导致无法获取完整的路径信息。
可以使用 -n 参数来避免 DNS 解析,以 IP 格式输出数据。
未完待续!!!!!!!