转载请注明以下内容:
来源:公众号【网络技术干货圈】
作者:圈圈
ID:wljsghq
ifconfig命令
ifconfig是一个网络管理工具,用于配置、控制和查询网络接口。在许多旧的Linux发行版中,ifconfig是查看和配置网络接口的主要工具。要查看IP地址,只需在终端中输入以下命令:
ifconfig
这将显示系统中所有网络接口的详细信息,包括IP地址、子网掩码和MAC地址。
ifconfig命令的输出包含多个字段,每个字段提供不同的网络信息。
比如输出是这样的:
eth0 Link encap:Ethernet HWaddr 00298d:60 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80:29ff8d60/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24890 errors:0 dropped:0 overruns:0 frame:0 TX packets:15457 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:36589294 (34.8 MiB) TX bytes:2070249 (1.9 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)
在这个输出中,我们可以看到两个网络接口:eth0和lo。
eth0: 这是一个以太网接口。
Link encap:Ethernet: 链路封装类型,以太网。
HWaddr 00298d:60: 硬件地址(MAC地址)。
inet addr:192.168.1.100: IPv4地址。
Bcast:192.168.1.255: 广播地址。
Mask:255.255.255.0: 子网掩码。
inet6 addr: fe80:29ff8d60/64 Scope:Link: IPv6地址。
UP BROADCAST RUNNING MULTICAST: 接口状态。
MTU:1500: 最大传输单元。
RX packets:24890: 接收到的数据包数量。
TX packets:15457: 发送的数据包数量。
RX bytes:36589294 (34.8 MiB): 接收到的字节数。
TX bytes:2070249 (1.9 MiB): 发送的字节数。
lo: 这是一个本地回环接口。
inet addr:127.0.0.1: IPv4地址。
Mask:255.0.0.0: 子网掩码。
inet6 addr: ::1/128 Scope:Host: IPv6地址。
UP LOOPBACK RUNNING: 接口状态。
MTU:65536: 最大传输单元。
RX packets:8: 接收到的数据包数量。
TX packets:8: 发送的数据包数量。
RX bytes:560 (560.0 B): 接收到的字节数。
TX bytes:560 (560.0 B): 发送的字节数。
ip命令
ip命令是iproute2软件包的一部分,它提供了更强大和灵活的网络管理功能。与ifconfig相比,ip命令支持更多的网络配置选项,并且更适合现代Linux系统。要查看IP地址,使用以下命令:
ip addr show
ip命令的输出信息丰富,包括IPv4和IPv6地址、子网掩码、MAC地址等。
比如输出的是:
1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 000000:00 brd 000000:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00298d:60 brd ffffff:ff inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0 valid_lft 86392sec preferred_lft 86392sec inet6 fe80:29ff8d60/64 scope link valid_lft forever preferred_lft forever
在这个输出中,我们可以看到两个网络接口:lo和eth0。
1: lo: 回环接口。
mtu 65536: 最大传输单元。
link/loopback 000000:00 brd 000000:00: 链路层信息。
inet 127.0.0.1/8 scope host lo: IPv4地址及子网掩码。
inet6 ::1/128 scope host: IPv6地址。
2: eth0: 以太网接口。
mtu 1500: 最大传输单元。
link/ether 00298d:60 brd ffffff:ff: 链路层信息。
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0: IPv4地址及子网掩码。
inet6 fe80:29ff8d60/64 scope link: IPv6地址。
除了查看IP地址,ip命令还可以用于配置网络接口、管理路由、配置隧道等。以下是一些高级用法示例:
配置IP地址:
sudo ip addr add 192.168.1.200/24 dev eth0
删除IP地址:
sudo ip addr del 192.168.1.200/24 dev eth0
显示路由表:
ip route show
添加默认路由:
sudo ip route add default via 192.168.1.1
配置VLAN:
sudo ip link add link eth0 name eth0.100 type vlan id 100 sudo ip link set dev eth0.100 up sudo ip addr add 192.168.100.1/24 dev eth0.100
显示接口统计信息:
ip -s link
hostname命令
hostname命令主要用于显示或设置系统的主机名。然而,通过一些选项,hostname命令也可以用于查看系统的IP地址。要查看主机名,只需在终端中输入以下命令:
hostname
这将显示当前系统的主机名。
要查看系统的IP地址,使用以下命令:
hostname -I
此命令将返回系统所有网络接口的IP地址(不包括回环接口)。
hostname -I命令的输出非常简洁,通常只显示IP地址,适用于需要快速获取IP地址的场景。以下是一个典型的hostname -I输出示例:
192.168.3.110 172.17.0.1
在这个示例中,系统有两个网络接口,一个接口的IP地址是192.168.3.110,另一个接口的IP地址是172.17.0.1。
除了查看IP地址,hostname命令还可以用于设置和查看其他网络相关信息。
以下是一些高级用法示例:
设置主机名:
sudo hostname new-hostname
查看完整域名:
hostname -f
查看短主机名:
hostname -s
查看域名:
hostname -d
查看IP地址(IPv4和IPv6):
hostname -I
nmcli命令
nmcli命令是NetworkManager的命令行接口,用于管理网络连接和设备。要查看系统的IP地址,可以使用以下命令:
nmcli device show
该命令将显示系统中所有网络接口的详细信息,包括IP地址、MAC地址、子网掩码等。
nmcli device show命令的输出信息非常详细,涵盖了所有网络接口的配置。
比如输出是:
GENERAL.DEVICE: eth0 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00298d:60 GENERAL.MTU: 1500 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: Wired connection 1 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1 IP4.ADDRESS[1]: 192.168.1.100/24 IP4.GATEWAY: 192.168.1.1 IP4.DNS[1]: 192.168.1.1 IP6.ADDRESS[1]: fe80:29ff8d60/64 IP6.GATEWAY: -- GENERAL.DEVICE: lo GENERAL.TYPE: loopback GENERAL.HWADDR: 000000:00 GENERAL.MTU: 65536 GENERAL.STATE: 10 (unmanaged) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- IP4.ADDRESS[1]: 127.0.0.1/8 IP6.ADDRESS[1]: ::1/128
在这个输出中,我们可以看到两个网络接口:eth0和lo。
GENERAL.DEVICE: eth0: 以太网接口。
GENERAL.TYPE: ethernet: 接口类型。
GENERAL.HWADDR: 00298d:60: 硬件地址(MAC地址)。
GENERAL.MTU: 1500: 最大传输单元。
GENERAL.STATE: 100 (connected): 接口状态。
GENERAL.CONNECTION: Wired connection 1: 连接名称。
IP4.ADDRESS[1]: 192.168.1.100/24: IPv4地址及子网掩码。
IP4.GATEWAY: 192.168.1.1: 网关。
IP4.DNS[1]: 192.168.1.1: DNS服务器。
IP6.ADDRESS[1]: fe80:29ff8d60/64: IPv6地址。
GENERAL.DEVICE: lo: 本地回环接口。
GENERAL.TYPE: loopback: 接口类型。
GENERAL.HWADDR: 000000:00: 硬件地址(MAC地址)。
GENERAL.MTU: 65536: 最大传输单元。
GENERAL.STATE: 10 (unmanaged): 接口状态。
IP4.ADDRESS[1]: 127.0.0.1/8: IPv4地址及子网掩码。
IP6.ADDRESS[1]: ::1/128: IPv6地址。
除了查看IP地址,nmcli命令还可以用于配置网络连接、管理设备等。
以下是一些高级用法示例:
查看所有连接:
nmcli connection show
激活连接:
nmcli connection up id "Wired connection 1"
禁用连接:
nmcli connection down id "Wired connection 1"
添加新的静态IP地址:
nmcli connection modify "Wired connection 1" ipv4.addresses "192.168.1.200/24" nmcli connection modify "Wired connection 1" ipv4.gateway "192.168.1.1" nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8,8.8.4.4" nmcli connection modify "Wired connection 1" ipv4.method manual nmcli connection up id "Wired connection 1"
删除连接:
nmcli connection delete id "Wired connection 1"
显示设备状态:
nmcli device status
显示设备详细信息:
nmcli device show eno2
重新加载NetworkManager配置:
sudo nmcli general reload
ss命令
ss命令是一个功能强大的工具,用于显示有关网络套接字的信息。它是netstat命令的现代替代品,性能更高且功能更强大。要查看系统的所有网络连接,包括IP地址,可以使用以下命令:
ss -tuln
该命令将显示所有监听的TCP和UDP端口及其对应的IP地址。
ss -tuln命令的输出信息包括协议、接收队列、发送队列、本地地址、远程地址和状态等。
在这个输出中,每一行表示一个监听的端口及其相关信息。
Netid: 套接字类型(如TCP或UDP)。
State: 套接字状态(如LISTEN或UNCONN)。
Recv-Q: 接收队列长度。
Send-Q: 发送队列长度。
Local Address:Port: 本地地址和端口。
Peer Address:Port: 远程地址和端口。
除了查看监听端口和IP地址,ss命令还可以用于显示各种类型的网络连接、统计信息和套接字详细信息。
以下是一些高级用法示例:
显示所有套接字:
ss -a
显示所有TCP套接字:
ss -t
显示所有UDP套接字:
ss -u
显示所有监听的套接字:
ss -l
显示所有连接状态的套接字:
ss -s
显示详细信息:
ss -e
显示进程信息:
ss -p
过滤指定端口:
ss -at '( dport = :22 or sport = :22 )'
过滤指定IP地址:
ss -at '( dst = 192.168.1.100 )'
ip a命令
ip a命令是ip addr命令的缩写,用于显示所有网络接口的详细信息,包括IP地址、子网掩码、广播地址和接口状态等。要查看系统的IP地址,只需在终端中输入以下命令:
ip a
全部0条评论
快来发表一下你的评论吧 !