我需要找出有多少服务正在监听我的接口(仅限 ipv4,而不是 localhost)
$ ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.129.56.137 netmask 255.255.0.0 broadcast 10.129.255.255
inet6 dead:beef::250:56ff:feb9:8c07 prefixlen 64 scopeid 0x0<global>
inet6 fe80::250:56ff:feb9:8c07 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:b9:8c:07 txqueuelen 1000 (Ethernet)
RX packets 3644 bytes 330312 (330.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3198 bytes 679711 (679.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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 (Local Loopback)
RX packets 15304 bytes 895847 (895.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 15304 bytes 895847 (895.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
$ nmap 10.129.56.137
Starting Nmap 7.60 ( https://nmap.org ) at 2020-12-05 05:23 UTC
Nmap scan report for 10.129.56.137
Host is up (0.000086s latency).
Not shown: 991 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
110/tcp open pop3
139/tcp open netbios-ssn
143/tcp open imap
445/tcp open microsoft-ds
993/tcp open imaps
995/tcp open pop3s
Nmap done: 1 IP address (1 host up) scanned in 10.57 seconds
我以为答案是 9,但一定有办法找到正确答案。提前干杯!
答案1
来自 man netstat:
这个程序大部分已经过时了。 netstat 的替代品是 ss。
此时,我认为这将是最好的选择:
ss -l -4 | grep -v "127\.0\.0" | grep "LISTEN" | wc -l
在哪里:
- -l:仅显示监听服务
- -4: 只显示ipv4
- -grep -v“127.0.0”:排除所有本地主机结果
- -grep“听”:更好地过滤仅监听服务
- 厕所-l: 统计结果
答案2
netstat -tunleep4 | grep -v "127\.0\.0"
答案3
netstat -ln4 | grep LISTEN | grep -v 127 | wc -l
描述:
netstat
-l, --listening display listening server sockets
-n, --numeric don't resolve names
-4
--protocol=family, -A
Specifies the address families (perhaps better described as low level protocols) for which connections are to be
shown. family is a comma (',') separated list of address family keywords like inet, inet6, unix, ipx, ax25, netrom,
econet, ddp, and bluetooth. This has the same effect as using the --inet|-4, --inet6|-6, --unix|-x, --ipx, --ax25,
--netrom, --ddp, and --bluetooth options.
The address family inet (Iv4) includes raw, udp, udplite and tcp protocol sockets.
The address family bluetooth (Iv4) includes l2cap and rfcomm protocol sockets.
grep LISTEN - 仅包含LISTEN
单词的行
grep -v 127 - 只是没有的行127
wc -l - 计算结果行数
视觉解释在这里 -https://explainshell.com/explain?cmd=netstat+-ln4+%7C+grep+LISTEN+%7C+grep+-v+127+%7C+wc+-l
答案4
netstat -tnl | grep ":.*[1-9]" | grep -v "127.0.0.1" | wc -l