netstat命令详解
- 格式:pdf
- 大小:108.36 KB
- 文档页数:3
netstat命令详解
引⾔
netstat命令是⼀个监控TCP/IP⽹络的⾮常有⽤的⼯具,它可以显⽰路由表、实际的⽹络连接以及每⼀个⽹络接⼝设备的状态信息。
语法选项
netstat [选项]
-a或--all:显⽰所有连线中的Socket;
-A<⽹络类型>或--<⽹络类型>:列出该⽹络类型连线中的相关地址;
-c或--continuous:持续列出⽹络状态;
-C或--cache:显⽰路由器配置的快取信息;
-e或--extend:显⽰⽹络其他相关信息;
-F或--fib:显⽰FIB;
-g或--groups:显⽰多重⼴播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显⽰⽹络界⾯信息表单;
-l或--listening:显⽰监控中的服务器的Socket;
-M或--masquerade:显⽰伪装的⽹络连线;
-n或--numeric:直接使⽤ip地址,⽽不通过域名服务器;
-N或--netlink或--symbolic:显⽰⽹络硬件外围设备的符号连接名称;
-o或--timers:显⽰计时器;
-p或--programs:显⽰正在使⽤Socket的程序识别码和程序名称;
-r或--route:显⽰Routing Table;
-s或--statistice:显⽰⽹络⼯作信息统计表;
-t或--tcp:显⽰TCP传输协议的连线状况;
-u或--udp:显⽰UDP传输协议的连线状况;
-v或--verbose:显⽰指令执⾏过程;
-V或--version:显⽰版本信息;
-w或--raw:显⽰RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。实例
列出所有 TCP 监听服务器端⼝[root@hdp-01 ~]# netstat -nltp
列出所有端⼝情况
[root@xiesshavip002 ~]# netstat -a # 列出所有端⼝
[root@xiesshavip002 ~]# netstat -at # 列出所有TCP端⼝
[root@xiesshavip002 ~]# netstat -au # 列出所有UDP端⼝
列出所有处于监听状态的 Sockets
[root@xiesshavip002 ~]# netstat -l # 只显⽰监听端⼝
[root@xiesshavip002 ~]# netstat -lt # 显⽰监听TCP端⼝
[root@xiesshavip002 ~]# netstat -lu # 显⽰监听UDP端⼝
[root@xiesshavip002 ~]# netstat -lx # 显⽰监听UNIX端⼝
显⽰每个协议的统计信息
[root@xiesshavip002 ~]# netstat -s # 显⽰所有端⼝的统计信息
[root@xiesshavip002 ~]# netstat -st # 显⽰所有TCP的统计信息
[root@xiesshavip002 ~]# netstat -su # 显⽰所有UDP的统计信息
显⽰ PID 和进程名称[root@xiesshavip002 ~]# netstat -p
显⽰核⼼路由信息
[root@xiesshavip002 ~]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
192.168.130.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
[root@xiesshavip002 ~]# netstat -rn # 显⽰数字格式,不查询主机名称
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.130.1 0.0.0.0 UG 0 0 0 eth0
192.168.130.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0[root@xiesshavip002 ~]#
查看端⼝和服务[root@xiesshavip002 ~]# netstat -antp | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 734/sshd
tcp 0 52 192.168.130.20:22 119.129.118.189:58737 ESTABLISHED 1846/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 734/sshd
[root@xiesshavip002 ~]# netstat -antp | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 734/sshd
tcp 0 52 192.168.130.20:22 119.129.118.189:58737 ESTABLISHED 1846/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 734/sshd [root@xiesshavip002 ~]#
netstat 命令帮助
[root@xiesshavip002 ~]# netstat --help
usage: netstat [-vWeenNcCF] [] -r netstat {-V|--version|-h|--help}
netstat [-vWnNcaeol] [ ...]
netstat { [-vWeenNac] -I[] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay]
-r, --route display routing table
-I, --interfaces= display interface table for
-i, --interfaces display interface table
-g, --groups display multicast group memberships
-s, --statistics display networking statistics (like SNMP)
-M, --masquerade display masqueraded connections
-v, --verbose be verbose
-W, --wide don't truncate IP addresses
-n, --numeric don't resolve names
--numeric-hosts don't resolve host names
--numeric-ports don't resolve port names
--numeric-users don't resolve user names
-N, --symbolic resolve hardware names
-e, --extend display other/more information
-p, --programs display PID/Program name for sockets
-o, --timers display timers
-c, --continuous continuous listing
-l, --listening display listening server sockets
-a, --all display all sockets (default: connected)
-F, --fib display Forwarding Information Base (default)
-C, --cache display routing cache instead of FIB
-Z, --context display SELinux security context for sockets
={-t|--tcp} {-u|--udp} {-U|--udplite} {-w|--raw} {-x|--unix}
--ax25 --ipx --netrom
=Use '-6|-4' or '-A ' or '--'; default: inet
List of possible address families (which support routing):
inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)
x25 (CCITT X.25)
查看进程占⽤的端⼝号
套接字是和 IP 地址、软件端⼝和协议结合起来使⽤的,⽽端⼝号对传输控制协议(TCP)和⽤户数据报协议(UDP)协议都适⽤,TCP 和
UDP 都可以使⽤ 0 到 65535 之间的端⼝号进⾏通信。以下是端⼝分配类别:
0 - 1023: 常⽤端⼝和系统端⼝
1024 - 49151: 软件的注册端⼝
49152 - 65535: 动态端⼝或私有端⼝
在 Linux 上的 /etc/services ⽂件可以查看到更多关于保留端⼝的信息。可以使⽤以下六种⽅法查看端⼝信息。
ss:可以⽤于转储套接字统计信息。
netstat:可以显⽰打开的套接字列表。
lsof:可以列出打开的⽂件。
fuser:可以列出那些打开了⽂件的进程的进程 ID。
nmap:是⽹络检测⼯具和端⼝扫描程序。
systemctl:是 systemd 系统的控制管理器和服务管理器。
举例
以下将找出 sshd 守护进程所使⽤的端⼝号
⽅法 1:使⽤ ss 命令
⼀般⽤于转储套接字统计信息。它能够输出类似于 netstat 输出的信息,但它可以⽐其它⼯具显⽰更多的 TCP 信息和状态信息。