netstat命令使用详解

预备知识:

1. 什么是UNIX域套接字:
Unix域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务通信的一种方式,是进程间通信(IPC)的一种方式。IP协议栈通过IP地址和端口号来标识客户服务器,UNIX域的协议栈则通过文件系统中的文件路径名来标识客户机和服务器的协议地址, 它提供了两类套接字:字节流套接字(STREAM, 类似TCP)和数据报套接字(DGRAM,类似UDP),UNIX域数据报服务是可靠的,不会丢失消息,也不会传递出错。比如,syslog中的消息服务器则通过**/dev/log文件名**来标识。
2. 什么是RAW套接字:
用于原始套接字数据访问,比如统计和分析收发的网络数据。这种类型套接字的功能却与TCP或者UDP类型套接字的功能有很大的不同点,TCP/UDP类型的套接字只能够访问传输层以及传输层以上的数据。因为当IP层把数据传递给传输层,下层的数据包头已经被丢掉了,而原始套接字却可以访问传输层以下的数据,所以使用 raw套接字你可以实现上至应用层的数据操作,也可以实现下至链路层的数据操作。

关于netstat的使用栗子:

0. 常用的命令。

netstat -h #显示帮助
netstat -apn #显示所有的网络活动,包括进程名并数字化显示。
netstat --verbose #列出系统不支持的地址族。

netstat: no support for AF IPX' on this system. netstat: no support forAF AX25’ on this system.
netstat: no support for AF X25' on this system. netstat: no support forAF NETROM’ on this system.

netstat 显示几种不同的协议活动, 这个参数非常常用!

-a(列出所有网络活动)-t(列出tcp协议活动)-u(列出udp协议活动)-x(列出unix域套接字活动)-w(显示RAW传输协议)

1. 列出所有的网络活动接口
netstat -a

正在活动的网络接口链接:
Active Internet connections (servers and established) #
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 chinaSouth:domain : LISTEN
tcp 0 0 :ssh : LISTEN
tcp 0 0 localhost:ipp : LISTEN
tcp 8065 0 192.168.0.92:43660 192.168.0.1:netbios-ssn CLOSE_WAIT
tcp 0 0 192.168.0.92:ssh 192.168.0.97:63932 ESTABLISHED
tcp6 0 0 [::]:ftp [::]:
LISTEN
tcp6 0 0 [::]:ssh [::]😗 LISTEN
tcp6 0 0 ip6-localhost:ipp [::]😗 LISTEN
udp 0 0 *:36518 :
udp 0 0 224.0.0.251:mdns :
udp 0 0 :mdns :
udp 0 0 chinaSouth:domain :
udp 0 0 :ipp :
udp 0 0 :34274 :
udp6 0 0 [::]:43940 [::]:

udp6 0 0 [::]:mdns [::]:

raw6 0 0 [::]:ipv6-icmp [::]:
7
正在活动的UNIX域套接字(unix 域主要通过路径来标识网络链接的身份):
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 24262 @/tmp/dbus-2SC0z7bLTT
unix 2 [ ] DGRAM 26361 /run/user/1000/systemd/notify
unix 2 [ ACC ] STREAM LISTENING 26362 /run/user/1000/systemd/private
unix 2 [ ACC ] SEQPACKET LISTENING 17338 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 26366 /run/user/1000/snapd-session-agent.socket

2. 搜索某个服务的相关信息
netstat -a|grep ssh #搜索与ssh相关的网络活动

$ netstat -a|grep ssh
tcp 0 0 :ssh : LISTEN
tcp 0 36 192.168.0.92:ssh 192.168.0.97:63932 ESTABLISHED
tcp6 0 0 [::]:ssh [::]:
LISTEN
unix 2 [ ACC ] STREAM LISTENING 30738 /run/user/1000/keyring/ssh

netstat -apn|grep “:22”
搜索某个端口的活动情况, n参数表示将显示的结果数字化(不做名字的映射转换),这个参数非常常用,有时候搜索端口搜索不到,可能就是因为没有设置该参数, p参数用来显示进程名。

$ netstat -a|grep ssh
tcp 0 0 :ssh : LISTEN
tcp 0 36 192.168.0.92:ssh 192.168.0.97:63932 ESTABLISHED
tcp6 0 0 [::]:ssh [::]:
LISTEN
unix 2 [ ACC ] STREAM LISTENING 30738 /run/user/1000/keyring/ssh

3. 列出网络路由情况
netstat -rn (地址0.0.0.0一般表示自动取本地网络接口的地址,由协议栈来确定当前可通信的接口中网络地址)

$netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eno1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eno1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1

4. 显示网络接口
netstat -ie(i参数表示接口, e参数表示扩展详情)

$ netstat -ie
Kernel Interface table
eno1 Link encap:Ethernet HWaddr d4:5d:64:af:a6:66
inet addr:192.168.0.92 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::83d7:aed:4f51:af44/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16866477 errors:0 dropped:7251 overruns:0 frame:0
TX packets:254827 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1490131497 (1.4 GB) TX bytes:30963715 (30.9 MB)
Interrupt:16 Memory:f7100000-f7120000
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:262272603 errors:0 dropped:0 overruns:0 frame:0
TX packets:262272603 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:34687952040 (34.6 GB) TX bytes:34687952040 (34.6 GB)

5. 显示PID和进程名
netstat -tp #显示tcp相关的PID和进程名字

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 8065 0 192.168.0.92:43660 192.168.0.1:netbios-ssn CLOSE_WAIT 3735/gvfsd-smb-brow (如左边所示)

6. 显示网络协议的统计情况
netstat -s

–statistics display networking statistics (like SNMP)
$ netstat -s
Ip:
262920413 total packets received
26537 with invalid addresses
0 forwarded
0 incoming packets discarded
262893872 incoming packets delivered
262490139 requests sent out
40 outgoing packets dropped
1 dropped because of missing route
Icmp:
124 ICMP messages received
7 input ICMP message failed.
ICMP input histogram:
destination unreachable: 110
echo requests: 3
echo replies: 11
12123 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 12109
echo request: 11
echo replies: 3

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值