NMAP扫描是一款强大的网络检测工具,支持多种检测技术--ping扫描--多端口扫描--TCP/IP指纹验证为什么要扫描?以获取一些为目的的公开/非公开信息--检测潜在风险--寻找可攻击目标--收集设备/主机/系统/软件信息--发现可利用的安全漏洞基本用法nmap[扫描类型][选项]常用的扫描类型常用的选项-sSTCPSYN扫描(半开)该方法向目标端口发送SYN。如果收到SYN/ACK回复,则判断端口开放;如果收到RST数据包,则表示端口已打开。端口关闭。简单理解就是3次握手只完成一半,判断端口是否打开,提高扫描速度-sTTCP连接扫描(全开)-sUUDP扫描-sPICMP扫描-sV检测开启的端口对应的服务版本信息-Atarget系统综合分析(可能会比较慢)-p扫描指定端口1)检查是否能ping通目标主机[root@case100~]#yum-yinstallnmap//nmapinstallation[root@case100~]#nmap-sP192.168.4.0/24//扫描192.168.4.0/24网段所有开启的主机[root@case100~]#nmap-sP192.168.4.140-160//扫描140到160网段所有开放主机[root@case100~]]#nmap-sP192.168.4.100,140,??141//扫描主机100,140,??141是否开放[root@case100~]#nmap-n-sP192.168.4.140//-n不执行DNS解析2)检查目标主机启用的TCP服务[root@case100~]#nmap-sT192.168.4.100StartingNmap6.40(http://nmap.org)at2020-10-1616:46192.168.4.100主机的CSTNmap扫描报告已启动(0.00026秒延迟)。Notshown:997closedportsPORTSTATESERVICE22/tcpopenssh111/tcpopenrpcbind3306/tcpopenmysqlNmapdone:1IPaddress(1hostup)scannedin0.04seconds[root@case100~]#nmap192.168.4.100//不要添加any参数默认是TCPscan和-sT效果是一样的StartingNmap6.40(http://nmap.org)at2020-10-1616:46CSTNmapsc192.168.4.100Host的报告已启动(0.0000030秒延迟)。未显示:997关闭端口PORTSTATESERVICE22/tcpopenssh111/tcpopenrpcbind3306/tcpopenmysqlNmapdone:1IPaddress(1dshostup)conned0.6root@case100~]#nmap-sTwww.baidu.com//Of当然目标主机也可以是域名3)查看192.168.4.0/24网段有哪些主机开启了FTP和SSH服务[root@case100~]#nmap-p21-22192.168.4.0/24StartingNmap6.40(http://nmap.org)于2020-10-1616:53192.168.4.140主机的CSTNmap扫描报告已启动(0.00036秒延迟)。PORTSTATESERVICE21/tcp关闭ftp22/tcp打开sshMAC地址:52:54:00:B4:8C:9E(QEMUVirtualNIC)Nmap扫描报告192.168.4.141Hostisup(0.00052slatency).PORTSTATESERVICE21/tcpclosedftp22/tcpopensshMACAddress:52:54:00:24:A1:77(QEMUVirtualNIC)Nmap扫描报告192.168.4.142Hostisup(0.00051slatency).PORTSTATESERVICE21/tcpclosedftp22/tcpopensshMACAddress:52:54:00:16:E6:DE(QEMUVirtualNIC)......4)检查目标主机启用的UDP服务[root@case100~]#nmap-sU192.168.4.100StartingNmap6.40(http://nmap.org)at2020-10-1616:54CSTNmap扫描报告192.168.4.100Host已启动(0.0000040s延迟)。不是显示:998个关闭端口PORTSTATESERVICE68/udpopen|filtereddhcpc111/udpopenrpcbindNmapdone:1IPaddress(1hostup)scannedin1.28seconds5)探索打开的端口对应的服务版本信息[root@case100~]#nmap-sV192.168.4.100,140,??141//扫描100,140,??1413台主机在2020-10-1915:50启动Nmap6.40(http://nmap.org)192.168.4.100主机的CSTNmap扫描报告已启动(0.0000030秒延迟)。未显示:997关闭端口PORTSTATESERVICEVERSION22/tcpopensshOpenSSH7.4(protocol2.0)111/tcpopenrpcbind2-4(RPC#100000)3306/tcpopenmysqlMySQL5.7.17Nmap扫描报告192.168.4.140Hostisup(0.00016秒延迟)。未显示:999个关闭端口端口状态服务版本22/tcp打开sshOpenSSH7.4(协议2.0)MAC地址:52:54:00:B4:8C:9E(QEMU虚拟网卡)Nmap192.168.4.141主机的扫描报告已启动(0.00019秒延迟)。未显示:999个关闭端口端口状态服务版本22/tcp打开sshOpenSSH7.4(协议2.0)MAC地址:52:54:00:24:A1:77(QEMU虚拟NIC)已执行服务检测。请在http://nmap.org/submit/报告任何不正确的结果。Nmapdone:3IPaddresses(3hostsup)scannedin6.38seconds6)全面分析目标主机192.168.4.100的操作系统信息[root@case100~]#nmap-A192.168.4.100StartingNmap6.40(http://nmap.org)at2020-10-1616:58192.168.4.100Host的CSTNmap扫描报告已启动(0.000035s延迟)。未显示:997个关闭的端口端口状态服务版本22/tcp打开sshOpenSSH7.4(协议2.0)|ssh主机密钥:2048bb:57:60:4b:40:e1:ed:41:45:7b:eb:cf:23:86:04:13(RSA)|_2561e:76:cc:e8:d9:55:86:df:dc:a1:ea:7a:6c:67:c6:00(ECDSA)111/tcp打开rpcbind2-4(RPC#100000)|rpc信息:|程序版本端口/协议服务|1000002,3,4111/tcprpcbind|_1000002,3,4111/udprpcbind3306/tcp打开mysqlMySQL5.7.17|mysql信息:协议:10|版本:5.7.17|线程ID:13|一些功能:长密码、连接数据库、压缩、ODBC、SSL、交易、安全连接|Status:Autocommit\x08lt:Q\x1FX01}NoexactOSmatchesforhost(如果你知道上面运行的是什么操作系统,请参阅http://nmap.org/submit/)。TCP/IPfingerprint:OS:SCAN(V=6.40%E=4%D=10/16%OT=22%CT=1%CU=43703%PV=Y%DS=0%DNetworkDistance:0hopsOSandServicedetectionperformed.Pleasereportanyincorrectresultsathttp://nmap.org/submit/.Nmapdone:18.05secondsscanned1IPaddress(1hostup)stcpdump命令行抓包工具基本用法tcpdump[options][filterconditions]常用监控选项-i,指定网络接口监听(默认监听第一块网卡)-A,转换为ASCII码,方便阅读-w,将包信息保存到指定文件-r,从指定文件中读取包信息常用过滤条件:类型:host,net,port,portrangeDirection:src,dstProtocol:tcp,udp,ip,wlan,arp,...多种条件组合:and,or,notCase1[root@case100~]#tcpdump//If你抓包全部报错tcpdump:packetprintingisnotsupportedforlinktypeNFLOG:使用-w,需要指定接口ifconfig查看接口抓包[root@case100~]#tcpdump-iens5host192.168.44.100//从接口ens5host192.168.4.140抓包[root@case100~]#tcpdump-iens5tcpport22004//通过和组合抓取TCP22004限制更多条件[root@case100~]#tcpdump-iens5tcpport22004andhost192.168.4.140//通过and的组合过滤条件抓取icmp协议[root@case100~]#tcpdump-A-iens5icmp//抓取icmpprotocolpackage[root@case100~]#tcpdump-iens5icmpandhost10.0.3.211//用icmp抓包protocolhost10.0.3.211[root@case100~]#tcpdump-A-wtest1.cap-iens5icmp//如果想进一步分析,可以保存结果,以后使用WireShark软件分析案例二:使用tcpdump分析FTP访问中的明文交换信息1)安装部署vsftpd服务[root@case254~]#yum-yinstallvsftpd[root@case254~]#systemctlrestartvsftpd这里假设192.168.4.254主机有vsftpd服务共享,并且已经部署了登录用户等配置。如果没有需要提前安装启动服务!!!2)启动tcpdump等待抓包执行tcpdump命令行,添加适当的过滤条件,只抓取主机192.168.4.100的21端口上的数据通信,并转换成易于阅读的ASCII格式文本[root@case254~]#tcpdump-Atcpport21-iprivate1//因为4网段不是默认接口,所以必须全部指定3)case100作为客户端访问case254服务器[root@case100~]#yum-yinstallftp[root@case100~]#ftp192.168.4.254连接到192.168.4.254(192.168.4.254).220(vsFTPd3.0.2)Name(192.168.4.254:root):ftp331请指定password.Password:230LoginsuccessfulRemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftp>dir227EnteringPassiveMode(192,168,4,254,47,162).150下面是目录列表.drwxr-xr-x30040962019年10月20日ansibledrwxr-Xrx20062019年10月13日2019年10月13日302019年10月10日10月10日1000004096AUG1305:42PUBDRWXR-XR-XR-XR-XR-X2061006101010日132019年10月13日REDHATDRWXRWX2019REDHATDRWXRWX207772019sharectomallsendOK.ftp>cdpub250Directorysuccessfullychanged.ftp>ls...ftp>quit221Goodbye.4)查看tcpdump打包[root@case254~]#tcpdump-Atcpport21-iprivate1tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecodelisteningonprivate1,link-typeEN10MB(Ethernet),捕获尺寸65535BYTES17:42:11.926001IP192.168.4.100.47604>192.168.4.254.ftp:frags[P.],SEQ1412379158:1412379164,ACK3282094552,WIN229,129,n.n.n6val29,n.n939n.,长度6E..:..@....)....d.......T/2.................cRC.oE/PASV17:42:11.926212IP192.168.4.254.ftp>192.168.4.100.47604:Flags[P.],seq1:51,ack6,win227,options[nop,nop,TSval527456805ecr526602819],长度50E..f.j@.@.,u.......d.......T/2.................pZ%.cRC227进入被动模式(192,168,4,254,254,7).17:42:11.927147IP192.168.4.100.47604>192.168.4.254.ftp:Flags[P.],seq6:12,ack51,win229,options[nop,nop,TSval526602820ecr527456805],长度6E..:..@....(...d.......T/2................cRD.pZ%LIST17:42:11.927299IP192.168。4.254.ftp>192.168.4.100.47604:Flags[P.],seq51:90,ack12,win227,options[nop,nop,TSval527456806ecr526602820],长度39E..[.k@.@.,......d.......T/2".......pZ&.cRD150目录列表来了.17:42:11.928886IP192.168.4.254.ftp>192.168.4.100.47604:标志[P.],seq90:114,ack12,win227,选项[nop,nop,TSval527456807ecr526602820],长度24E..L.l@.@.,........d.......1T/2".......pZ'.cRD226DirectorysendOK.//可以通过抓包.4.254.ftp传输协议看到192.1683次握手等信息5)再次使用tcpdump抓包,并使用-w选项将抓包保存为文件,以备后续分析[root@case254~]#tcpdump-Atcpport21-iprivate1-wftp.cap6)tcpdump命令的-r选项可以读取之前抓取的历史数据文件[root@case254~]#tcpdump-A-rftp.cap|grepftpreadingfromfileftp.cap,link-typeEN10MB(Ethernet)18:03:18.353802IP192.168.4.100.47610>192.168.4.254.ftp:标志[S],seq2971413673,winopstion,[mss1460,sackOK,TSval527869246ecr0,nop,wscale7],长度018:03:18.353959IP192.168.4.254.ftp>192.168.4.100.47610:Flags[S.],seq22542353497,28960,14options[60ms,sackOK,TSval528723232ecr527869246,nop,wscale7],length018:03:18.354474IP192.168.4.100.47610>192.168.4.254.ftp]win,acks29,acks[.,选项[nop,nop,TSval527869247ecr528723232],长度018:03:18.357118IP192.168.4.254.ftp>192.168.4.100.47610:Flags[P.],seq1:21,ack227,winoptions[nop,nop,TSval528723236ecr527869247],长度2018:03:18.357874IP192.168.4.100.47610>192.168.4.254.ftp:Flags[.],ack21,w在229中,选项[nop,nop,TSval527869250ecr528723236],长度018:03:20.596123IP192.168.4.100.47610>192.168.4.254.ftp:Flags[F.],seq1,ack21,win229,选项[nop,nop,TSval527871489ecr528723236],长度018:03:20.596218IP192.168.4.254.ftp>192.168.4.100.47610:标志[.],ack2,win227,选项[nop,nop,TSval528725475ecr527871489],length018:03:20.596382IP192.168.4.254.ftp>192.168.4.100.47610:Flags[F.],seq21,ack2,win227,options[nop,nop,TSval528725475ecr527871489],长度0……