首页 > 技术文章 > netstat nmap nc dstat

tingxin 2020-05-26 13:13 原文

netstat参数解释:

-l  (listen) 仅列出 Listen (监听) 的服务
-t  (tcp) 仅显示tcp相关内容
-n (numeric) 直接显示ip地址以及端口,不解析为服务名或者主机名
-p (pid) 显示出socket所属的进程PID 以及进程名字
--inet 显示ipv4相关协议的监听

查看IPV4端口上的tcp/udp的监听

netstat -lntp --inet |grep -v 127.0.0.1
netstat -lnup --inet |grep -v 127.0.0.1

nmap 用法

nmap 10.0.1.161  -p1-65535   
nmap 10.0.1.161  -p20-200,7777,8888  
nmap  -sU  10.0.1.161  -Pn                        #-sU:表示udp scan , udp端口扫描 -Pn:不对目标进行ping探测(不判断主机是否在线)(直接扫描端口)
nmap 10.0.1.161  10.0.1.162
nmap -iL ip.txt                                   #扫描文件里的IP
nmap 10.0.1.161,162
nmap 10.0.1.161-162                               #扫描连续的ip地址
nmap  10.0.3.0/24                                 #扫描一个子网网段所有IP
nmap 10.0.1.161-162  --exclude 10.0.1.162         #扫描地址段是排除某个IP地址
nmap 10.0.1.161-162  --exclude 10.0.1.162-163      #扫描时排除多个IP地址
nmap 10.0.1.161-163 --exclude 10.0.1.161,10.0.1.163
nmap 10.0.1.161-163  --excludefile ex.txt
nmap -sP 10.0.3.0/24                               #探测主机存活常用方式
nmap -sn 10.0.1.161-166                             #ping探测扫描主机, 不进行端口扫描
nmap 10.0.1.161 -sA                                 #发送tcp的ack包进行探测,可以探测主机是否存活
nmap  -sS   10.0.1.161                          #-sS :半开放扫描(非3次握手的tcp扫描)
nmap  -sT  10.0.1.161                            #sT:3次握手方式tcp的扫描
nmap -sF  10.0.1.161                            #sF:也是tcp的扫描一种,发送一个FIN标志的数据包 有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。
                                                #发送一个设置了FIN标志的数据包并不需要完成TCP的握手.和sS扫描效果差不多,比sT速度快

nc是netcat的简写
nc的作用

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


nc的控制参数不少,常用的几个参数如下所列:

-l            用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
-p <port>    暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
-s             指定发送数据的源IP地址,适用于多网卡机
-u            指定nc使用UDP协议,默认为TCP
-v            输出交互或出错信息,新手调试时尤为有用
-w            超时秒数,后面跟数字
-z            表示zero,表示扫描时不发送任何数据
nc -l 7777&        启动监听的是一个tcp的端口7777
nc -ul  9999     启动一个udp的端口监听
nc -vzw 2 10.0.1.161 9999
nc -vuz 10.0.1.161 1-1000


使用nc传输文件和目录

nc -l 9995 >zabbix.rpm                                        #接收方
nc 10.0.1.162 9995 < zabbix-release-2.4-1.el6.noarch.rpm    #发送方

nc -l 9995 | tar xfvz -                                        #接收方
tar cfz - * | nc 10.0.1.162 9995                            #发送方

测试网速

nc -l 9990 </dev/zero                                        #发送方
nc 10.0.1.161 9990 >/dev/null                                #接收方


dstat命令 是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,
在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,
dstat也可以收集指定的性能资源,譬如dstat -c即显示CPU的使用情况。

语法

dstat [-afv] [options..] [delay [count]]

-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。
-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。
-d:显示磁盘读写数据大小。
-D hda,total:include hda and total。
-n:显示网络状态。
-N eth1,total:有多块网卡时,指定要显示的网卡。
-l:显示系统负载情况。
-m:显示内存使用情况。
-g:显示页面使用情况。
-p:显示进程状态。
-s:显示交换分区使用情况。
-S:类似D/N。
-r:I/O请求情况。
-y:系统状态。
--ipc:显示ipc消息队列,信号等信息。
--socket:用来显示tcp udp端口状态。
-a:此为默认选项,等同于-cdngy。
-v:等同于 -pmgdsc -D total。
--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中。

 

推荐阅读