网络工具
net-tools 与 iproute2
net-tools 起源于BSD,自2001年起,Linux社区已经对其停止维护,net-tools通过 procfs(/proc) 和 ioctl 系统调用去访问和改变内核网络配置。
而iproute2旨在取代net-tools,并提供了一些新功能。一些Linux发行版已经停止支持net-tools,只支持iproute2。而iproute2则通过netlink套接字接口与内核通讯。
net-tools中工具的名字比较杂乱
iproute2则相对整齐和直观,基本是ip命令加后面的子命令
虽然取代意图很明显,但是这么多年过去了,net-tool依然还在被广泛使用,最好还是两套命令都掌握吧。
Ip地址
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00: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: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 04:d4:c4:ec:c0:80 brd ff:ff:ff:ff:ff:ff
inet 192.168.31.124/24 brd 192.168.31.255 scope global dynamic noprefixroute enp4s0
valid_lft 34381sec preferred_lft 34381sec
inet6 fe80::e06f:1aaa:46c9:9e83/64 scope link noprefixroute
valid_lft forever preferred_lft forever
$ ifconfig
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.31.124 netmask 255.255.255.0 broadcast 192.168.31.255
inet6 fe80::e06f:1aaa:46c9:9e83 prefixlen 64 scopeid 0x20<link>
ether 04:d4:c4:ec:c0:80 (网卡地址 MAC) txqueuelen 1000 (以太网)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (本地环回)
$ netstat -tulnp # 查看进程占用的端口,以及进程启动命令
$ route -n # 查看本机的路由表
$ arp -n # 查看本机的缓存的 IP/MAC 对照表
$ ping # 使用ICMP包,检测网络是否可达
$ traceroute # 使用带TTL的ICMP包,追踪数据包传递的路径