netstat命令
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
[root@hzj ~]# netstat
Active Internet connections (w/o servers) //有源TCP连接
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 hzj:36836 100.100.30.25:http ESTABLISHED
tcp 0 0 hzj:ssh 114.242.250.123:64855 ESTABLISHED
tcp 0 0 hzj:ssh 114.242.250.123:64629 ESTABLISHED
Active UNIX domain sockets (w/o servers) //有源Unix域套接口
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 10413 /run/systemd/shutdownd
unix 3 [ ] DGRAM 7363 /run/systemd/notify
unix 2 [ ] DGRAM 7365 /run/systemd/cgroups-agent
unix 6 [ ] DGRAM 7386 /run/systemd/journal/socket
unix 11 [ ] DGRAM 7388 /dev/log
Active Internet connections(有源TCP连接)
"Recv-Q"和"Send-Q"指的是接收队列和发送队列
Active UNIX domain sockets(有源Unix域套接口)
Proto显示连接使用的协议,
RefCnt表示连接到本套接口上的进程号,
Types显示套接口的类型,
State显示套接口当前的状态,
Path表示连接到套接口的其它进程使用的路径名。
套接口类型
- -t :TCP
- -u :UDP
- -raw :RAW类型
- –unix :UNIX域类型
- –ax25 :AX25类型
- –ipx :ipx类型
- –netrom :netrom类型
状态说明
- LISTEN:侦听来自远方的TCP端口的连接请求
- SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)
- SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)
- ESTABLISHED:代表一个打开的连接
- FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
- FIN-WAIT-2:从远程TCP等待连接中断请求
- CLOSE-WAIT:等待从本地用户发来的连接中断请求
- CLOSING:等待远程TCP对连接中断的确认
- LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)
- TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
- CLOSED:没有任何连接状态
常用的命令
- 显示网卡列表
[root@hzj ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0 1500 4669 0 0 0 5604 0 0 0 BMRU
eth0 1500 1076727 0 0 0 625464 0 0 0 BMRU
lo 65536 645 0 0 0 645 0 0 0 LRU
veth5a6b6a8 1500 864 0 0 0 1748 0 0 0 BMRU
vethcbb92dd 1500 3805 0 0 0 4013 0 0 0 BMRU
- 显示组播组的关系
[root@hzj ~]# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 all-systems.mcast.net
docker0 1 all-systems.mcast.net
vethcbb92dd 1 all-systems.mcast.net
veth5a6b6a8 1 all-systems.mcast.net
lo 1 ff02::1
lo 1 ff01::1
eth0 1 ff02::1
eth0 1 ff01::1
docker0 1 ff02::1
docker0 1 ff01::1
vethcbb92dd 1 ff02::1
vethcbb92dd 1 ff01::1
veth5a6b6a8 1 ff02::1
veth5a6b6a8 1 ff01::1
组播技术的初衷是在IP网络中,以"尽力而为"的形式发送信息到某个目标组,这个目标组称为组播组,这样在有源主机向多点目标主机发送信息需求时,源主机只发送一份数据,数据的目的地址是组播组地址,这样,凡是属于该组的成员,都可以接收到一份原主机发送的数据的拷贝,此组播方式下,只有真正信息需要的成员会收到信息,其他主机不会收到。
因此组播方式解决了单播情况下数据的重复拷贝及带宽的重复占用,也解决了广播方式下带宽资源的浪费。