ethtool
ethtool是linux的网络驱动程序的诊断和调整工具,可获取网络设备的相关信息,包括连接状态、驱动版本、PCI 总线定位等等。ethtool 是用于查询及设置网卡参数的命令。
使用方式:
ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等
ethtool –h //显示ethtool的命令帮助(help)
ethtool –i ethX //查询ethX网口的相关信息
ethtool –d ethX //查询ethX网口注册性信息
ethtool –r ethX //重置ethX网口到自适应模式
ethtool –S ethX //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商
使用举例:
lspci|grep Eth // 列出机器中的PCI设备信息,如声卡,显卡,Modem,网卡等信息
b5:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 08)
b5:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 08)
# 查看网卡的输入流量,输出流量,输入包,输出包,输入的广播,输出的广播,输入的网络错包,输出的网络错包等
ethtool -S enp181s0f0
NIC statistics:
rx_packets: 7610406
tx_packets: 1027444
rx_bytes: 765244955
tx_bytes: 147618566
rx_errors: 0
tx_errors: 0
rx_dropped: 0
tx_dropped: 0
collisions: 0
rx_length_errors: 0
rx_crc_errors: 0
rx_unicast: 517861
...
ip
linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。
查看网络接口卡信息: ip a
查看所有网卡的接口信息。
在这里a不是选项是对象(OBJECT):address
打印下面的内容:
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: enp181s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:24:ec:f2:a5:e9 brd ff:ff:ff:ff:ff:ff
inet 166.111.26.65/23 brd 166.111.27.255 scope global noprefixroute enp181s0f0
valid_lft forever preferred_lft forever
inet6 fe80::4e91:fe88:af89:8a88/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp181s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:24:ec:f2:a5:ea brd ff:ff:ff:ff:ff:ff
inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute enp181s0f1
valid_lft forever preferred_lft forever
inet6 fe80::cc60:3104:c18c:9733/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:8a:b3:cd brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:8a:b3:cd brd ff:ff:ff:ff:ff:ff
lo是linux中的虚拟网络接口
link/ether是二层协议 mac地址 广播地址
inet(v4)是三层协议 ip地址 广播地址
inet6是三层协议 ipv6地址
同一台机器的不同进程进行通信时会用到。实现了同一台机器的进程之间的socket通信。虚拟网络接口不需要驱动程序。
ip link ls up
查看正在运行的接口的相关信息
ip link ls down(反之)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp181s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:24:ec:f2:a5:e9 brd ff:ff:ff:ff:ff:ff
3: enp181s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:24:ec:f2:a5:ea brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:8a:b3:cd brd ff:ff:ff:ff:ff:ff
更多命令参考:https://blog.youkuaiyun.com/chinaltx/article/details/86497076
linux网桥命令
设置 Linux 网桥命令 brctl
# 显示所有的网桥信息
brctl show
tcpdump
dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
启动
#启动
tcpdum
# 监视指定网络接口的数据包;如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0
tcpdump -i enp181s0f1 tcp port 22
跟多参考:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html