精华内容
下载资源
问答
  • 常用linux系统扫描命令汇总

    千次阅读 2019-04-09 20:57:21
    本文介绍了一些网络扫描的技术手段,其中包括主机扫描、路由扫描、批量服务扫描。 常用命令:fping、hping、traceroute、mtr、nmap、nc、tcpdump fping fping是一个小型命令行工具,用于向网络主机发送ICMP回应请求...

    本文介绍了一些网络扫描的技术手段,其中包括主机扫描、路由扫描、批量服务扫描。
    常用命令:fping、hping、traceroute、mtr、nmap、nc、tcpdump

    主机扫描

    fping

    fping是一个小型命令行工具,用于向网络主机发送ICMP回应请求,类似于ping,但在ping多个主机时性能要高得多。fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。

    作用:批量的给目标主机发送ping请求,测试主机的存活情况
    特点:并行发送、结果易读
    安装:

    wget http://www.fping.org/dist/fping-4.2.tar.gz
    tar xf fping-4.2.tar.gz
    ./configure
    make && make install
    

    参数说明:

    # fping -h
    -a:只显示存活主机
    -u:只显示不存活主机
    -l:循环ping
    -g:通过指定起始地址与终止地址产生目标列表(192.168.1.0/24)
    

    目标IP地址的输入方式:

    fping IP1 IP2 IP3 ...;
    fping -f filename;
    fping -g IP1 IP2(IP1地址开始范围,IP2地址结束范围)
    

    用法示例:

    # fping 192.168.20.152 192.168.20.153
    # fping -g 192.168.20.150 192.168.20.153
    # fping -a -g 192.168.20.150 192.168.20.153
    # fping -g 192.168.20.150 192.168.20.153 2>/dev/null 
    192.168.20.151 is alive
    192.168.20.152 is alive
    192.168.20.150 is unreachable
    192.168.20.153 is unreachable
    

    hping

    官方站点:http://www.hping.org/
    特点:支持使用的TCP/IP数据包组装、分析工具
    安装:

    wget https://github.com/antirez/hping/archive/master.zip
    unzip master.zip
    
    解决依赖:
    yum install -y libpcap-devel //安装依赖	(或者在rpmfind.net中下载rpm包)
    yum -y install tcl tcl-devel
    ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h
    
    cd hping-master/
    ./configure
    make && make install
    

    参数说明:

    -c:发送数据包的个数
    -d:每个数据包的大小
    -p:端口
    -S:设置TCP模式SYN包
    -a:伪造IP地址
    

    用法示例:

    1.对指定目标端口发起tcp探测
    hping -p 22 -S 192.168.20.151
    #可以设置151机器禁ping查看效果: sysctl -w net.ipv4.icmp_echo_ignore_all=1
    在这里插入图片描述
    2.伪造来源IP,模拟Ddos攻击
    hping -p 22 -S 192.168.20.151 -a 192.168.20.150

    在151机器上开启tcpdump抓取来自攻击源的数据包:

    # tcpdump -i eth0 src host 192.168.20.150
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
    20:00:23.471610 IP 192.168.20.150.spice > 192.168.20.151.ssh: Flags [S], seq 1309245604:1309245704, win 512, length 100
    20:00:24.471781 IP 192.168.20.150.xiip > 192.168.20.151.ssh: Flags [S], seq 1698714277:1698714377, win 512, length 100
    20:00:25.472009 IP 192.168.20.150.discovery-port > 192.168.20.151.ssh: Flags [S], seq 1558244712:1558244812, win 512, length 100
    20:00:26.472229 IP 192.168.20.150.egs > 192.168.20.151.ssh: Flags [S], seq 317559446:317559546, win 512, length 100
    20:00:27.472494 IP 192.168.20.150.videte-cipc > 192.168.20.151.ssh: Flags [S], seq 1828776172:1828776272, win 512, length 100
    

    补充:
    tcpdump抓包常用参数和用法

    tcpdump tcp -s 0 -i eth0  and  host 192.168.20.151 -w /tools/0427.pcap
    

    参数说明:

    tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
    -i eth0 : 只抓经过接口eth0的包
    host 192.168.20.151  只抓取本机器和192.168.20.151机器之间的数据包
    -s 0 : 抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包
    -w /tools/0427.pcap : 指定保存的路径保存成pcap文件,方便用ethereal(即wireshark)分析
    

    详细用法可以参考:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html
    tcpdump


    路由扫描

    查询一个主机到另一个主机经过的路由跳数、及数据延迟情况。
    常用工具:traceroute、mtr

    traceroute

    参考链接:https://www.cnblogs.com/peida/archive/2013/03/07/2947326.html
    通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。

    在大多数情况下,我们会在linux主机系统下,直接执行命令行:traceroute hostname

    参数说明:

    默认使用uDP协议(3000以上的端口)
    使用TCP协议  -T -p 
    使用ICMP协议 -I 
    
    -d 使用Socket层级的排错功能。
    -f 设置第一个检测数据包的存活数值TTL的大小。
    -F 设置勿离断位。
    -g 设置来源路由网关,最多可设置8个。
    -i 使用指定的网络界面送出数据包。
    -I 使用ICMP回应取代UDP资料信息。
    -m 设置检测数据包的最大存活数值TTL的大小。
    -n 直接使用IP地址而非主机名称。
    -p 设置UDP传输协议的通信端口。
    -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
    -s 设置本地主机送出数据包的IP地址。
    -t 设置检测数据包的TOS数值。
    -v 详细显示指令的执行过程。
    -w 设置等待远端主机回报的时间。
    -x 开启或关闭数据包的正确性检验。
    

    使用示例:

    1.traceroute 用法简单、最常用的用法
    # traceroute www.baidu.com
    		
    2.跳数设置
    # traceroute -m 10 www.baidu.com
    			
    3.显示IP地址,不查主机名
    # traceroute -n www.baidu.com
    			
    4.探测包使用的基本UDP端口设置6888
    # traceroute -p 6888 www.baidu.com
    			
    5.把探测包的个数设置为值4
    # traceroute -q 4 www.baidu.com
    			
    6.绕过正常的路由表,直接发送到网络相连的主机
    # traceroute -r www.baidu.com
    			
    7.把对外发探测包的等待响应时间设置为3秒
    # traceroute -w 3 www.baidu.com
    

    说明:

    # traceroute -T -p 80 -n www.imooc.com
    traceroute to www.imooc.com (117.121.101.40), 30 hops max, 60 byte packets
     1  192.168.20.11  0.406 ms  0.366 ms  0.337 ms
     2  * * *
     3  123.150.144.153  26.616 ms  26.922 ms  26.897 ms
     4  221.238.7.233  11.441 ms  7.298 ms  6.792 ms
     5  221.238.222.65  7.000 ms  6.978 ms  7.318 ms
     6  219.150.49.181  11.389 ms 219.150.49.169  10.847 ms 219.150.49.189  8.933 ms
     7  36.110.245.26  13.724 ms 36.110.245.22  9.259 ms  8.925 ms
     8  * * *
     9  220.181.17.122  6.568 ms  17.669 ms  17.606 ms
    10  * * *
    11  117.121.99.82  7.455 ms  7.894 ms  8.721 ms
    12  * * *
    13  117.121.101.40  10.137 ms  7.703 ms  7.699 ms
    
    1. 记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用 traceroute -q 4 www.baidu.com ,表示向每个网关发送4个数据包。

    2. 有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

    3. 有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;可以加-n 参数来避免DNS解析,以IP格式输出数据。

      如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。

    mtr

    MTR 是一个强大的网络诊断工具,管理员能够用它诊断和隔离网络错误,并向上游提供商提供有关网络状态的有用报告。MTR 通过更大的采样来跟踪路由,就像 traceroute + ping 命令的组合。
    网络诊断工具包括 pingtraceroutemtr,使用“ICMP”数据包来测试互联网上两点之间的节点和流量。当用户在互联网上 ping 主机时,会向主机发送一系列 ICMP 报文,主机通过发送报文进行响应。用户的客户端能够计算互联网上两点之间的往返时间。相比之下,诸如 traceroute 和 MTR 之类的工具会以递增增加的 TTL 发送 ICMP 数据包,以便查看数据包在源和目的地之间进行的路由或一系列跳数。 TTL 或生存时间控制数据包在“死亡”并返回主机之前将产生多少“跳”。通过发送一系列数据包,使它们在一跳之后死亡并返回,然后两个,然后三个,客户端机器能够组合在因特网上的主机之间的流量所占用的路由。

    MTR 收集关于中间主机的状态,连接和响应性的其他信息,而不是简单地概述流量跨越 Internet 的路由。

    使用mtr:

    测试到目标主机 example.com 的流量的路由和连接质量: mtr -rw example.com
    如果没有丢包丢失,可以使用更快的间隔时间运行:mtr -rwc 50 -i 0.2 example.com

    参数说明:

    r 选项标志生成报告(缩写为–report)
    w 选项标志使用长版本的主机名,您可以看到每个跳的完整主机名(–report-wide的缩写)
    c 选项标志设置报告中发送和记录的数据包数量。当不使用时,默认值通常为 10,但是对于更快的间隔,您可能希望将其设置为50或100.报告可能需要较长时间才能完成
    i 选项标志以更快的速率运行报告,以显示只能在网络拥塞期间发生的数据包丢失。该标志指示MTR每n秒发送一个数据包。默认值为1秒,因此将其设置为十分之一秒(0.1,0.2等)通常是有帮助的	
    

    输出参数的解释:

    Loss% 	丢包率,单位是”%”; 
    Snt 	sent包的数量 
    Last 	最后一个包的延时 
    Avg 	所有包的平均延时 
    Best 	延时最小的包 
    Wrst 	延时最大的包 
    StDev 	标准偏差
    

    如何使用MTR诊断网络问题:https://www.cnblogs.com/xzkzzz/p/7413177.html

    批量主机服务扫描

    批量主机存活扫描、针对主机服务扫描
    能更方便快捷获取网络中主机的存活状态;更加细致、只能获取主机服务侦查情况
    常用命令:nmap、ncat

    nmap

    NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。包含四项基本功能:

    • 主机发现(Host Discovery)
    • 端口扫描(Port Scanning)
    • 版本侦测(Version Detection)
    • 操作系统侦测(Operating System Detection)

    nmap端口状态解析:

    open: 应用程序在该端口接收 TCP 连接或者 UDP 报文。 
    closed:关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
    filtered:由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
    unfiltered:未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
    open | filtered:无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
    closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的		
    

    主机发现:

    -sP :进行ping扫描
    	# nmap -sP 192.168.20.0/24	//打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测)可以用于探测局域网有哪些机器
    	
    -sn: Ping Scan - disable port scan
    	# nmap -sn 192.168.20.0/24
    	
    -sA:发送tcp的ack包进行探测,可以探测主机是否存活
    	# nmap -sA 192.168.20.0/24
    

    端口扫描:

    扫描tcp端口:

    # nmap 192.168.20.215
    # nmap 192.168.20.215 -p 1-65535	//区别在于不加-p 时,显示的都是已知协议的端口,对于未知协议的端口没显示
    # nmap 192.168.20.215 -p 1-100,27017,27018	//连续的端口可以使用横线连起来,端口之间可以使用逗号隔开
    

    指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口,假如有的服务不在nmap-services,可能nmap就不会去扫描,这就是明明一些端口已经是处于监听状态,nmap默认没扫描出来的原因,需要加入-p参数让其扫描所有端口。

    扫描udp端口:

    # nmap -sU 192.168.20.215		//对于udp端口扫描比较慢
    	-sU:表示udp scan , udp端口扫描
    	-Pn:不对目标进行ping探测(不判断主机是否在线)(直接扫描端口)
    

    扫描多个IP用法:

    # nmap 192.168.20.215 192.168.20.216	// 中间用空格分开
    # nmap 192.168.20.215,216	// 使用逗号分割
    # nmap 192.168.20.215-218	// 扫描连续的ip地址
    # nmap 192.168.20.0/24		// 扫描一个子网网段所有IP
    # nmap -iL ip.txt			// 扫描文件里的IP
    # nmap 192.168.20.215-218 --exclude 192.168.20.217		// 扫描地址段是排除某个IP地址
    # nmap 192.168.20.215-218 --exclude 192.168.20.216-217		//扫描时排除多个IP地址,排除连续的,可以使用横线连接起来
    # nmap 192.168.20.215-218 --exclude 192.168.20.216,192.168.20.217	//扫描时排除多个IP地址,排除分散的,使用逗号隔开
    # nmap 192.168.20.215-218 --excludefile ex.txt		//扫描多个地址时排除文件里的IP地址
    

    端口扫描的高级用法:

    Tcp SYN Scan (-sS)		//tcp半开放扫描(非3次握手的tcp扫描)
    	优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中使用频率最高
    	缺点:它需要root/administrator权限执行
    	# nmap -sS 192.168.20.215
    	
    Tcp connect() scan(-sT)		//tcp全开放扫描(3次握手方式tcp的扫描)
    	默认的扫描模式,不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().
    	优点:你勿需root权限。普通用户也可以使用。
    	缺点:这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息,由于它要完成3次握手,效率低,速度慢,建议使用-sS
    	# nmap -sT 192.168.20.215	等同于  # nmap 192.168.20.215
    
    Udp scan(-sU)			//udp端口的扫描
    	这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,
    	如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.udp端口扫描速度比较慢
    	# nmap -sU 192.168.20.215
    
    FIN scan (-sF)			//也是tcp的扫描一种,发送一个FIN标志的数据包
    	有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.
    	和sS扫描效果差不多,比sT速度快
    	# nmap -sF 192.168.20.215
    

    版本侦测:
    -sV:版本检测(sV),用来扫描目标主机和端口上运行的软件的版本

    # nmap -sV 192.168.20.215
    
    Starting Nmap 5.51 ( http://nmap.org ) at 2018-04-21 13:48 CST
    Nmap scan report for 192.168.20.215
    Host is up (0.00046s latency).
    Not shown: 998 closed ports
    PORT   STATE SERVICE VERSION
    22/tcp open  ssh     OpenSSH 7.4 (protocol 2.0)
    80/tcp open  http    Apache httpd 2.4.6 ((CentOS))
    MAC Address: 00:0C:29:A5:9D:95 (VMware)
    
    Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 6.24 seconds
    

    操作系统侦测:
    Nmap最重要的特点之一是能够远程检测操作系统和软件,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统和软件是非常有用的,通过获取的信息你可以知道已知的漏洞。Nmap有一个名为的nmap-OS-DB数据库,该数据库包含超过2600操作系统的信息。 Nmap把TCP和UDP数据包发送到目标机器上,然后检查结果和数据库对照。

    # nmap -O 192.168.20.215
    

    参考链接:
    https://www.cnblogs.com/nmap/p/6232207.html
    https://www.cnblogs.com/hanxiaobei/p/5603491.html

    ncat

    nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具。

    nc的作用:

    • 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
    • 端口的扫描,nc可以作为client发起TCP或UDP连接
    • 机器之间传输文件
    • 机器之间网络测速

    常用参数:

    -l:用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
    -s:指定发送数据的源IP地址,适用于多网卡机 
    -u:指定nc使用UDP协议,默认为TCP
    -v:输出交互或出错信息,新手调试时尤为有用
    -w:超时秒数,后面跟数字 
    -z:表示zero,表示扫描时不发送任何数据
    
    组合参数:-zvw
    

    用法:
    用法一:网络连通性测试和端口扫描
    nc可以作为server端启动一个tcp的监听:

    在192.168.20.215机器上启动一个tcp的监听端口
    # nc -l 9999
    	
    客户端测试:
    # telnet 192.168.20.215 9999
    # nmap 192.168.20.215 -p 9999
    # nc -zvw 2 192.168.20.215 9999
    Connection to 192.168.20.215 9999 port [tcp/distinct] succeeded!	
    # nc -zvw 2 192.168.20.215 9998-9999  //扫描连续的两个端口
    

    nc作为server端启动一个udp的监听:-u

    在192.168.20.215机器上启动一个udp的监听端口
    # nc -ul 9999
    
    客户端测试:
    //udp的端口无法在客户端使用telnet去测试
    # nc -zuvw 2 192.168.20.215 9999
    Connection to 192.168.20.215 9999 port [udp/distinct] succeeded!
    

    用法二:使用nc传输文件和目录
    方法1:传输文件演示(先启动接收命令)
    把151机器上的一文件发送到215机器上 //receiver先侦听端口,sender向receiver所在机器的该端口发送数据。

    1.先在215机器上启动一个接收文件的监听,格式如下
    nc -l port >file
    # nc -l 9999 > test.sh	//把来自9999端口接收到的数据都写到file文件里(这里文件名随意取)
    
    2.在151机器上往215机器的9999端口发送数据
    # nc 192.168.20.215 9999 < system_optimization.sh
    

    215机器接收完毕,它会自动退出监听,文件大小和A机器一样,md5值也一样

    # ll system_optimization.sh 
    -rw-r--r-- 1 root root 4176 Apr 21 16:20 system_optimization.sh
    # ll test.sh 
    -rw-r--r--. 1 root root 4176 4月   9 13:20 test.sh			
    

    方法2:传输文件演示(先启动发送命令)

    1.先在151机器上,启动发送文件命令
    # nc -l 9998 < php-5.6.35.tar.gz	//通过本地的9998端口发送php-5.6.35.tar.gz文件
    
    2.在215机器上接受文件	
    # nc 192.168.20.151 9998 > php.tar.gz
    

    方法3:传输目录演示(方法发送文件类似)

    1.在215机器上启动监听
    # nc -l 9999 | tar zxf -       //传输目录需要结合其它的命令,比如tar
    
    2.151机器上打包文件发送给215机器
    # tar zcf - * | nc 192.168.20.215 9999	//管道前面表示把当前目录的所有文件打包为 - ,然后使用nc发送给215机器
    

    用法三:测试网速
    测试网速其实利用了传输文件的原理,就是把来自一台机器的/dev/zero 发送给另一台机器的/dev/null
    就是把一台机器的无限个0,传输给另一个机器的空设备上,然后新开一个窗口使用dstat命令监测网速

    yum install -y dstat
    
    1.215机器先启动接收数据的命令,监听自己的9999端口,把来自这个端口的数据都输出给空设备(这样不写磁盘,测试网速更准确)
    # nc -l 9999 > /dev/null
    	
    2.151机器发送数据,把无限个0发送给A机器的9991端口
    # nc 192.168.20.215 9999 < /dev/zero
    

    在复制的窗口上使用dstat命令查看当前网速,dstat命令比较直观,它可以查看当前cpu,磁盘,网络,内存页和系统的一些当前状态指标。
    我们只需要看下面net/total这2列即可,recv是receive的缩写,表示接收的意思,send是发送数据,另外注意数字后面的单位B,KB,MB。

    参考链接:https://www.cnblogs.com/nmap/p/6148306.html

    防攻击介绍

    常见的攻击方法:

    • SYN攻击:利用TCP协议缺陷进行,导致系统服务停止响应,网络带宽跑满或者响应缓慢
    • DDOS攻击:分布式访问拒绝服务攻击
    • 恶意扫描

    syn攻击示意图:
    在这里插入图片描述
    SYN类型DDOS攻击预防:

    方式1:减少发送syn+ack包时重试次数
    sysctl -w net.ipv4.tcp_synack_retries=3
    sysctl -w net.ipv4.tcp_syn_retries=3
    
    方式2:syn cookies技术
    sysctl -w net.ipv4.tcp_syncookies=1
    
    方式3:增加backlog队列
    sysctl -w net.ipv4.tcp_max_syn_backlog=2048
    

    linux下其他预防策略:

    策略1.关闭ICMP协议请求
    sysctl -w net.ipv4.icmp_echo_ignore_all=1
    	
    策略2.通过iptables防止扫描
    iptables -A FORWARD -p tcp -syn -m limit --limit 1/s --limit-burst 5 -j ACCEPT
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 
    
    展开全文
  • Linux扫描技术笔记

    千次阅读 2015-11-29 14:12:17
    Linux扫描技术笔记题记:主机节点的存活的探测方法,我们日常用的最多的是ping,除此之外还有没有其他方法?本文介绍了fping,hping相关操作以探测节点存活。 服务的存活,我们日常用的最多的是telnet,除此之外...

    Linux扫描技术笔记

    题记:

    主机节点的存活的探测方法,我们日常用的最多的是ping,除此之外还有没有其他方法?本文介绍了fping,hping相关操作以探测节点存活。
    服务的存活,我们日常用的最多的是telnet,除此之外还有没有其他方法?本文介绍了nmap,ncat对于服务存活的探测。
    此外,本文还介绍了批量主机节点扫描,批量服务端口存活扫描,以及路由扫描以及安全防范措施。

    0.网络安全技术
    1)数据真实、可靠、完整、可控(安全角度)。
    举例:获取公用设备的弱口令
    获取常用命令:
    tracert/traceroute //查询到目的地址的路由跳数。
    nmap //批量主机服务的扫描,获取开放的端口(如80,23,22等)
    尝试暴力破解,如:http://10.202.4.73 (admin/admin)
    nc //进行交互式的shell登录

    2)网络入侵方式
    踩点–网络扫描–查点–提权 等

    一.主机扫描

    常用命令:
    1)fping
    特点:并行发送(批量主机发送)
    2)hping

    源码包编译步骤:
    1)检测配置 ./configure Makefile
    2)编译 make 二进制可执行文件
    3)安装 make install 安装到指定的路径

    以下是fping安装好后的版本:
    [root@localhost fping-3.13]# fping -v
    fping: Version 3.13
    fping: comments to david@schweikert.ch

    1.fping参数介绍:
    1)man -h 参数 查看帮助
    2)
    -a 只显示存活的主机列表
    -u 只显示没有存活的主机
    -g 支持主机段
    -f 从文件中读取

    example:

    [root@localhost fping-3.13]# fping -a -g 114.114.114.1/24
    114.114.114.110
    114.114.114.114
    114.114.114.119

    fping -a -f ./ip_list.txt
    fping -u -f ./ip_list.txt

    2.hping主机扫描
    1)特定端口发起tcp探测
    -p 端口
    -s 设置tcp模式的SYN包

    写入内核如下的参数可以进制icmp的访问:
    sysctl -w net.ipv4.icmp_echo_ignore_all=1

    //在即使主机禁止ping的前提下,依然可以使用hping命令探测端口的存活。

    [root@localhost hping-master]# hping -p 135 -S 192.168.1.107
    HPING 192.168.1.107 (eth0 192.168.1.107): S set, 40 headers + 0 data bytes
    len=46 ip=192.168.1.107 ttl=64 DF id=841 sport=135 flags=SA seq=0 win=8192 rtt=2.7 ms
    len=46 ip=192.168.1.107 ttl=64 DF id=1121 sport=135 flags=SA seq=1 win=8192 rtt=0.9 ms
    len=46 ip=192.168.1.107 ttl=64 DF id=1374 sport=135 flags=SA seq=2 win=8192 rtt=0.8 ms
    len=46 ip=192.168.1.107 ttl=64 DF id=1777 sport=135 flags=SA seq=3 win=8192 rtt=0.9 ms

    2)伪造来源IP,模拟DDOS攻击

    二.路由扫描

    作用:查询到一个主机到另一个主机的跳数及延时。
    命令:
    1)traceroute;
    2)mtr(测试主机到路由的连通性)

    traceroute原理:默认30000端口以上的UDP数据包。
    traceroute 参数:
    -T tcp数据包
    -P 端口
    -I(大写的i) icmp数据包
    -n 不将IP地址解析为域名
    举例:
    【方式一】:默认UDP方式访问。

    [root@localhost hping-master]# traceroute www.baidu.com
    traceroute to www.baidu.com (61.135.169.125), 30 hops max, 60 byte packets
    1  192.168.1.1 (192.168.1.1)  3.377 ms  2.129 ms  3.747 ms
    2  112.237.12.1 (112.237.12.1)  3.658 ms  3.287 ms  3.295 ms
    3  221.0.68.245 (221.0.68.245)  8.835 ms  8.374 ms 221.0.68.45 (221.0.68.45)  6.011 ms
    4  218.56.4.65 (218.56.4.65)  22.628 ms  22.172 ms  21.733 ms
    5  219.158.98.229 (219.158.98.229)  28.242 ms 219.158.98.225 (219.158.98.225)  24.119 ms 219.158.96.33 (219.158.96.33)  27.358 ms
    6  124.65.194.158 (124.65.194.158)  26.988 ms  27.691 ms  30.738 ms
    7  124.65.59.166 (124.65.59.166)  60.235 ms  59.844 ms  59.422 ms
    8  61.49.168.78 (61.49.168.78)  24.938 ms 61.49.168.82 (61.49.168.82)  23.435 ms 61.49.168.78 (61.49.168.78)  22.323 ms
    9  * * *
    10  * * *
    11  * * *
    12  * * *
    13  * * *
    14  * * *
    15  * * *
    16  * * *
    17  * * *
    18  * * *
    19  * * *
    20  * * *
    21  * * *
    22  * * *
    23  * * *
    24  * * *
    25  * * *
    26  * * *
    27  * * *
    28  * * *
    29  * * *
    30  * * *

    //【方式二】 ICMP方式访问。

    [root@localhost hping-master]# traceroute -I -n www.baidu.com
    traceroute to www.baidu.com (61.135.169.125), 30 hops max, 60 byte packets
    1  192.168.1.1  1.962 ms  2.268 ms  1.985 ms
    2  112.237.12.1  3.588 ms  4.704 ms  4.505 ms
    3  221.0.68.21  6.415 ms  6.062 ms  5.797 ms
    4  218.56.4.65  22.058 ms  21.805 ms  21.701 ms
    5  219.158.96.29  21.344 ms  21.184 ms  21.016 ms
    6  124.65.194.158  26.865 ms  26.571 ms  26.289 ms
    7  124.65.59.166  19.953 ms  24.586 ms  24.241 ms
    8  61.49.168.78  23.946 ms  22.079 ms  21.584 ms
    9  * * *
    10  61.135.169.125  20.379 ms  22.970 ms  21.124 ms

    //【方式三】TCP方式访问。

    [root@localhost hping-master]# traceroute -T -p 80 -n www.baidu.com
    traceroute to www.baidu.com (61.135.169.125), 30 hops max, 60 byte packets
    1  192.168.1.1  10.428 ms  3.382 ms  3.105 ms
    2  * * *
    3  221.0.68.245  6.938 ms  6.462 ms 221.0.68.21  5.914 ms
    4  * * *
    5  219.158.96.33  29.864 ms 219.158.96.29  23.532 ms 219.158.96.37  23.160 ms
    6  124.65.194.158  32.945 ms  32.642 ms  32.350 ms
    7  124.65.59.166  24.625 ms  23.980 ms  25.939 ms
    8  * * *
    9  * * *
    10  61.135.169.125  22.750 ms  22.076 ms *

    通过nslooup 反查是可以得到www.baidu.com对应的IP地址61.135.169.125的。
    结论:
    traceroute以TCP或者ICMP的访问方式,是可以访问到目的网站的IP地址的。默认的UDP包则 不可以。

    mtr命令举例:
    Mtr是 Linux中有一个非常棒的网络连通性判断工具,它结合了ping, traceroute,nslookup 的相关特性。

    [root@localhost hping-master]# mtr www.baidu.com
                                                                  My traceroute  [v0.75]
    localhost.localdomain (0.0.0.0)                                                                                           Sat Nov 28 02:01:35 2015
    Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                                                                              Packets               Pings
    Host                     Loss%   Snt   Last   Avg  Best  Wrst StDev
    1. 192.168.1.1           0.0%    32    3.8   4.3   2.1  11.1   1.5
    2. 112.237.12.1          0.0%    32    3.8   4.5   2.8  11.3   1.6
    3. 221.0.68.21           0.0%    32    9.5   7.9   3.5  13.7   2.3
    4. 218.56.4.65           0.0%    32   23.8  23.3  21.5  25.5   1.1
    5. 219.158.98.221        0.0%    32   25.0  25.8  21.4  70.3   8.3
    6. 124.65.194.166        0.0%    31   31.6  29.0  25.1  32.9   2.1
    7. 124.65.58.62          0.0%    31   24.6  29.0  19.9  53.3  10.8
    8. 123.125.248.46        0.0%    31   23.2  22.7  19.6  29.0   2.0
    9. ???
    10. ???
    11. 61.135.169.121        0.0%    31   22.8  23.1  20.3  25.9   1.5

    三.批量服务扫描

    作用:
    1)快捷获取主机的存活状态;
    2)获取主机服务的侦查状态。

    典型命令:
    1)nmap
    2)ncat(号称瑞士军刀)

    1)nmap命令使用介绍:
    nmap默认扫描的端口范围(0-1024,以及常用服务端口)
    nmap -p 0-30000
    1)ICMP协议类型(-P) ping扫描 简单、快速、有效 用于扫描主机存活
    2)TCP SYN类型 (-sS) 半开放连接 1.高效,2.不易被检测,3.通用
    3)TCP connect类型(-sT) 全开放连接 1.模拟真实用户的请求,2结果可靠
    4)UDP扫描(-sU) UDP协议扫描 1比较慢,2有效透过防火墙策略

    [root@localhost nmap-7.00]# nmap -sP 192.168.119.0/24
    
    Starting Nmap 7.00 ( https://nmap.org ) at 2015-11-28 02:25 PST
    Warning: File ./nmap-payloads exists, but Nmap is using /usr/local/bin/../share/nmap/nmap-payloads for security and consistency reasons.  set NMAPDIR=. to give priority to files in your local directory (may affect the other data files too).
    Nmap scan report for 192.168.119.1
    Host is up (0.00038s latency).
    MAC Address: 00:50:56:C0:00:08 (VMware)
    Nmap scan report for 192.168.119.2
    Host is up (0.00013s latency).
    MAC Address: 00:50:56:EC:C8:54 (VMware)
    Nmap scan report for 192.168.119.254
    Host is up (0.00011s latency).
    MAC Address: 00:50:56:E0:02:E6 (VMware)
    Nmap scan report for 192.168.119.128
    Host is up.
    Nmap done: 256 IP addresses (4 hosts up) scanned in 2.01 seconds
    [root@localhost nmap-7.00]# nmap -sS 192.168.119.1
    
    Starting Nmap 7.00 ( https://nmap.org ) at 2015-11-28 02:27 PST
    Warning: File ./nmap-services exists, but Nmap is using /usr/local/bin/../share/nmap/nmap-services for security and consistency reasons.  set NMAPDIR=. to give priority to files in your local directory (may affect the other data files too).
    Nmap scan report for 192.168.119.1
    Host is up (0.00021s latency).
    Not shown: 987 closed ports
    PORT      STATE SERVICE
    80/tcp    open  http
    135/tcp   open  msrpc
    139/tcp   open  netbios-ssn
    445/tcp   open  microsoft-ds
    902/tcp   open  iss-realsecure
    912/tcp   open  apex-mesh
    1025/tcp  open  NFS-or-IIS
    1026/tcp  open  LSA-or-nterm
    1027/tcp  open  IIS
    1028/tcp  open  unknown
    1038/tcp  open  mtqp
    5678/tcp  open  rrac
    10000/tcp open  snet-sensor-mgmt
    MAC Address: 00:50:56:C0:00:08 (VMware)
    Nmap done: 1 IP address (1 host up) scanned in 1.39 seconds

    2)ncat工具使用(端口扫描,默认TCP)
    ncat -w 设置超时时间
    -z 输入输出模式
    -v 显示执行过程
    -u 代表UDP
    [root@localhost ~]# ncat -v -w2 202.118.66.66 80
    Ncat: Version 7.00 ( https://nmap.org/ncat )
    Ncat: Connected to 202.118.66.66:80.

    四.如何防范恶意扫描

    常见的攻击方法:
    1)SYN攻击——
    利用TCP协议缺陷,导致系统服务停止响应,网络带宽跑慢或者响应缓慢。
    2)DDOS攻击——
    分布式拒绝访问服务攻击。
    正常的服务同一时间接收到N多类似正常服务的访问。
    3)恶意扫描

    SYN类型的DDOS攻击预防
    方式一:减少发送syn+ack包重发次数
    sysctl -w net.ipv4.tcp_synack_retries=3
    sysctl -w net.ipv4.tcp_syn_retries=3

    方式二:SYN cookies技术(不建立三次握手)
    sysctl -w net.ipv4.syncookies=1

    方式三:增加backlog队列
    sysctl -w net.ipv4.tcp_max_syn_backlog=2048

    Linux 下其他预防策略
    策略1:如何关闭ICMP协议请求
    sysctrl -w net.ipv4.icmp_echo_ignore_all=1

    策略2:通过iptables防止扫描
    iptables -A FORWARD -p tcp -syn -m limit -limit 1/s -limit-burst 5 -j ACCEPT
    iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m limit -limit 1/s -j ACCEPT
    iptables -A FORWARD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT

    以下链接可以学习:
    http://www.cnblogs.com/ym123/category/697304.html

    2015-11-29于家中
    作者:铭毅天下
    转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/50095987
    如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!

    展开全文
  • 我们可以在网络上使用 Nmap 来查找主机系统以及打开这些系统的端口。 1. 安装Nmap。 [root@GeekDevOps ~]# yum -y install nmap 使用示例(最简单的使用方法就是nmap 域名或ip): [root@GeekDevOps ~]# ...
    一、Nmap

    Nmap 是一种常用工具,可用于判定网络的布局。我们可以在网络上使用 Nmap 来查找主机系统以及打开这些系统的端口。
    1. 安装Nmap。

    [root@GeekDevOps ~]# yum -y install nmap
    1. 使用示例(最简单的使用方法就是nmap 域名或ip):
    [root@GeekDevOps ~]# nmap 10.8.34.1
    Starting Nmap 6.40 ( http://nmap.org ) at 2018-02-02 11:03 CST
    Nmap scan report for 10.8.34.1
    Host is up (0.042s latency).
    Not shown: 997 filtered ports
    PORT     STATE  SERVICE
    22/tcp   open   ssh
    443/tcp  closed https
    3389/tcp closed ms-wbt-server

    本文仅作简介,详细帮助信息请在命令行输入nmap –help或查阅相关官方(insecure.org)资料。

    二、Nessus

    Nessus是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。Nessus是一个可提供全方位服务的安全扫描程序。Nessus的插件式结构允许用户自定义其系统和网络。与其他的扫描软件一样,Nessus只能在其依赖的签名数据库中发挥作用。Nessus会时常更新,且具有全面报告、主机扫描以及实时漏洞搜索的功能。但是,Nessus也可能会出现误报和漏报。 这是一款收费软件,对于一般用户有7天的使用时间。官方网站为:nessus.org

    三、OpenVAS

    OpenVAS (Open Vulnerability Assessment System,开放式漏洞评估系统)是一套可用于扫描漏洞和全面漏洞管理的工具和服务系统。 OpenVAS 框架可提供许多基于网络、桌面和命令行的工具,用于控制解决方案的不同组件。 OpenVAS 的核心功能是其所提供的安全扫描器,可使用超过 33,000 每日更新的网络漏洞测试(NVT, Network Vulnerability Test )。使用OpenVAS并不需要订阅。稍后的文章我会详细介绍一下这个软件的安装与使用。

    四、Niktou

    Nikto 是一款杰出的“ 通用网关接口 ”(CGI,common gateway interface) 脚本扫描器。 Nikto 不仅可用于检查 CGI 漏洞,还可以躲避的方式运行,以便躲避入侵探测系统。Nikto 所提供完整的文档资料,在运行程序前,应当仔细查核。如果您有提供 CGI 脚本的网络服务器,那么Nikto 就是用于检查此类服务器安全的最佳资源。 在稍后的文章中我们再进行深入探讨(https://cirt.net/nikto2-docs/index.html)。

    展开全文
  • linux 扫描磁盘

    千次阅读 2019-10-04 23:10:02
    server连接的磁盘有增减,可以用这些命令扫描扫描之前,可以先跑 fdisk -l 保留一份记录, 扫描之后再跑fdisk -l 对比一下区别 ---------------------- suse 方法一: /sys/class/scsi_host/下面有几个...

    server连接的磁盘有增减,可以用这些命令扫描

    在扫描之前,可以先跑 fdisk -l 保留一份记录, 扫描之后再跑fdisk -l 对比一下区别

     

    ----------------------

    suse
    方法一:
    /sys/class/scsi_host/ 下面有几个host 就扫描几次
    # echo "- - -" > /sys/class/scsi_host/host0/scan
     
    方法二:
    这是SUSE系统自带的脚本,执行时不用全路径
    # rescan-scsi-bus.sh
     
    ----------------------
    redhat
     
    方法一:
    /sys/class/scsi_host/ 下面有几个host 就扫描几次
    # echo "- - -" > /sys/class/scsi_host/host0/scan

     

    转载于:https://www.cnblogs.com/bsoc/p/10341450.html

    展开全文
  • linux 扫描wifi

    千次阅读 2017-06-24 12:17:23
    扫描周围wifiiwlist wlan0 scan 内容太多 只输出 SID iwlist wlan0 scan | grep ESSID 参考文档http://www.shumeipaiba.com/wanpai/jiaocheng/25.html
  • Linux端口扫描方法

    千次阅读 2020-10-20 17:29:48
    在开发,调试,测试中,经常需要查看某台机子有没有开放指定的断口,这里列出了两种常用的查找Linux系统上哪些端口向外部开放的方法。当然,不止这两种方法,也可以自己写一个端口扫描工具。具体实现要根据TCP和UDP...
  • kali linux系统nmap扫描命令入门

    千次阅读 2019-01-27 23:04:11
    扫描命令 nmap 加网站或者ip地址 扫描网站或者ip的...nmap -O XXXXXXXXXXX 使用nmap查看对方信息,系统版本,端口等等(-O这个是大写英文O) nmap ip地址 -p XXX端口号 扫描指定端口(如:nmap 192.168.0.1...
  • LINUX扫描新接硬盘

    千次阅读 2019-11-07 07:36:58
    LINUX扫描新接硬盘 # ls /sys/class/scsi_host/ host0 host1 host2 # echo '- - -' > /sys/class/scsi_host/host0/scan # echo '- - -' > /sys/class/scsi_host/host1/scan # echo '- - -' > /sys/class/...
  • 本文主要介绍OpenVAS9在CentOS 7.2.1511 (minimal install)系统上的安装与使用过程,在安装的前一部分中请在root账户下执行各项操作。 一、OpenVAS的安装与配置 安装过程不进行详细介绍,直接以实际操作展现出来...
  • Linux系统扫描SCSI磁盘有几种方式?Linux新增LUN之后,能否不重启主机就认出设备?如果安装了PowerPath,动态添加/删除LUN的命令是什么?本文总结了Linux主机对磁盘设备进行重新配置的方式,并附加命令实例。 更多...
  • Linux系统防止黑客NMAP扫描的方法

    万次阅读 2015-07-22 15:41:28
    许多网络服务使用的是Linux系统,安装了Apache服务器软件。容易受到黑客用NMAP来扫描web网站,现分享一个防范经验。    我样可以通过设置,让Linux对NMAP扫描不理彩。即用iptables工具来过滤网络信息,让系统...
  • 在项目即将上线的时候,很多甲方公司,需要对乙方公司开发的系统进行漏洞扫描, 其中 中高危的漏洞是必须要解决的,甲方才会让你的系统发布上线,低危漏洞甲方不需要你马上解决,可暂时不用去管 这里列举一下楼主...
  • 有些新手朋友对Linux系统SCSI磁盘扫描机制解析及命令不是很熟悉,接下来将详细介绍,需要了解的朋友可以参考下 介绍 Linux系统扫描SCSI磁盘有几种方式?Linux新增LUN之后,能否不重启主机就认出设备?如果安装了...
  • linux漏洞扫描工具【lynis】

    千次阅读 2016-12-21 21:05:02
    作者:【吴业亮】云计算开发工程师 ...这个工具覆盖可疑文件监测、漏洞、恶意程序扫描、配置错误等。A. 检查项举例: B. 系统允许的登陆操作 C. 失效的SSL证书 D. 不需要密码的账户 E. 未授权的文件 F. 配置
  • Linux文件系统详解

    万次阅读 多人点赞 2019-05-29 16:07:53
    从操作系统的角度详解Linux文件系统层次、文件系统分类、文件系统的存储结构、不同存储介质的区别(RAM、ROM、Flash)、存储节点inode。本文参考: http://blog.chinaunix.net/uid-8698570-id-1763151.html ...
  • Linux 漏洞扫描 openvas

    千次阅读 2018-12-19 10:46:34
    什么是OpenVAS OpenVAS是一款开源的漏洞扫描攻击,主要用来检测网络或...一套完整的OpenVAS系统如下图显示 ① 客户层组件 Openvas-cli:负责提供从命令行访问openvas服务的程序 Greenbone-security-assistant(...
  • Linux 扫描文件 检查异常(CentOS)

    千次阅读 2017-02-10 15:11:37
    Linux 上使用clamav 扫描文件,检查文件是否异常sudo yum install clamav clamav-scanner-sysvinit clamav-update -yDataBaseDirectory: /var/lib/clamav UpdateLogFile: /var/log/freshclam.log ...
  •  解决2 : 由于头文件检测问题中,linux2.4以上内核没有/usr/include/linux/videodev.h,只有/usr/include/libv4l1-videodev.h,/usr/include/linux/videodev2.h,  修改configure.ac  AC_CHECK_HEADERS([linux/...
  • linux 扫描局域网内所有主机

    千次阅读 2020-05-12 09:29:53
    是没有root权限这个概念的,root权限是linux的最高权限,对应windows的管理员权限) nmap -sS 192.168.43.118 Tcp connect() scan(sT) 最常用 如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式,不同于Tcp ...
  • Linux系统提供多重机制以重新扫描SCSI总线并重认系统中加入的SCSI设备。在2.4内核方案中,由于动态LUN扫描机制不具备一致性,往往需要中断I/O。2.6内核里,LUN扫描有了显著改进并添加了动态LUN扫描机制。Linux目前...
  • 理解linux pci 扫描流程

    万次阅读 2014-02-08 16:48:54
    本文主要描述linux kernel进行pci总线扫描linux kernel代码基于版本2.6.37 1. 域 最先需要说明一个概念--域 百度百科:域之原义指地方的范围,后逐渐演变为数学、生物、科技等学科的某类单位的分类词语。 域...
  • 第五章 漏洞扫描 作者:Justin Hutchens 译者:飞龙 协议:CC BY-NC-SA 4.0 尽管可以通过查看服务... 这些备选方案包括使用自动化脚本和程序,可以通过扫描远程系统来识别漏洞。 未验证的漏洞扫描程序的原理是
  • Linux下读取USB扫描枪数据

    千次阅读 2018-01-31 17:52:00
    1.USB扫描枪   USB接口的扫描枪相当于键盘输入,在Windows或者Linux下,在成功安装驱动的前提下,打开文件编辑器如word、txt等。扫描枪读出到条码数据时,数据即被捕获...基于ARM下的Linux系统,接入扫描枪,在“/de
  • nmap:linux使用nmap 对局域网扫描,查看arp缓存表就可以知道局域内主机ip和mac了,方法如下:nmap参数-sP -PU -sS ,-sS半开放扫描,不用执行完TCP三次握手,执行得很快。nmap -A扫描详细信息,速度慢。扫描之后...
  • Linux系统SCSI磁盘扫描机制解析及命令实例   转载请在文首保留原文出处:EMC中文支持论坛 本位链接为:https://community.emc.com/docs/DOC-18211 介绍   Linux系统扫描SCSI磁盘有几种方式?Linux...
  • linux中端口扫描

    千次阅读 2012-05-17 18:05:36
    通过端口扫描可以了解系统目前向外网提供了那些服务,从而为用户管理网络提供了参考消息。 从技术原理上来说,端口扫描指向目标主机的TCP/UDP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断...
  • Linux 系统编程 -进程概念篇

    万次阅读 多人点赞 2021-06-07 20:16:56
    Linux系统编程-进程篇冯诺依曼体系结构冯诺依曼的两个重要思想当代计算机的三级缓存操作系统操作系统的概念操作系统的组成操作系统作用Linux下的操作系统体系进程进程概念进程特性进程的组成进程与程序区别进程控制...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 144,419
精华内容 57,767
关键字:

linux扫描系统

linux 订阅