运维工程师必会工具(Nmap和TCPdump)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 运维工程师必会工具(Nmap和TCPdump)

文章标签tcpdumpnmap文章分类运维阅读数10000+

1、NMap工具

主要功能:探测主机是否在线、扫描主机开放端口和嗅探网络服务,用于网络探测和安全扫描。

NMap支持很多扫描技术,例如:UDP、TCPconnect()、TCPSYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、SYN扫描和null扫描。

命令格式:Nmap [ 扫描类型 ] [ 通用选项 ] { 扫描目标说明 }

扫描类型:

-sT

TCP connect()扫描,这是最基本的TCP扫描方式,用来建立一个TCP连接,如果成功则认为目标端口正在监听,否则认为目标端口没有监听程序。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。

-sS

 

TCP同步扫描(TCP SYN),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口没有监听程序。所以这项技术通常称为半开扫描(half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。

-sF,-sX,-sN

秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应RST包,而打开的端口必需忽略有问题的包,通过这种扫描,可间接用于检测防火墙的健壮性。

-sP

ping扫描,用ping方式检查网络上哪些主机正在运行。当主机阻塞ICMP  echo请求包是ping扫描是无效的。nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。

-sU

UDP扫描,如果你想知道在某台主机上提供哪些UDP服务,可以使用此选项。

-sA

 

ACK扫描,这项高级的扫描方法通常可以用来穿过防火墙。

-sW

滑动窗口扫描,非常类似于ACK的扫描。

-sR

RPC扫描,和其它不同的端口扫描方法结合使用。

-b

FTP反弹攻击(bounce attack),连接到防火墙后面的一台FTP服务器做代理,接着进行端口扫描。

通用选项:

-n

不做反向DNS解析,以加快扫描速度

-P0

在扫描之前,不ping主机;有些网络防火墙可能禁止ICMP请求包,使用这种扫描类型可以跳过ping测试

-PT

扫描之前,使用TCP ping确定哪些主机正在运行。

-PS

对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。

-PI

设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。

-PB

这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。

-O

这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志,也就是操作系统类型。

-I

打开nmap的反向标志扫描功能。

 -f

使用碎片IP数据包发送SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。

-v

强烈推荐使用这个选项,它会给出扫描过程中的详细信息。

-S <IP>

在一些情况下,nmap可能无法确定你的源地址(nmap会告诉你)。在这种情况使用这个选项给出你的IP地址。

-g port

设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为DNS(53)或者FTP-DATA(20)的包通过和实现连接。显然,如果攻击者把源端口修改为20或者53,就可以摧毁防火墙的防护。

-oN

把扫描结果重定向到一个可读的文件logfilename中。

-oS

扫描结果输出到标准输出。

-A

打开操作系统探测和版本探测。

扫描目标:

目标地址

可以为IP地址,CIRD地址等。如192.168.1.2,222.247.54.5/24

-iL filename

从filename文件中读取扫描的目标。

-iR

让nmap自己随机挑选主机进行扫描。

-p

端口,这个选项让你选择要进行扫描的端口号的范围。可使用逗号分隔多个端口,减号连接一个端口范围,在列表前指定T:表示TCP端口,U:表示UDP端口

-exclude

 

排除指定主机。

-exclude

file

排除指定文件中的主机。


目标地址

可以为IP地址,CIRD地址等。如192.168.1.2,222.247.54.5/24

-iL filename

从filename文件中读取扫描的目标。

-iR

让nmap自己随机挑选主机进行扫描。

-p

端口,这个选项让你选择要进行扫描的端口号的范围。可使用逗号分隔多个端口,减号连接一个端口范围,在列表前指定T:表示TCP端口,U:表示UDP端口

-exclude

排除指定主机。

-exclude

file

排除指定文件中的主机。

端口的三种状态:

Open:意味着目标主机能够在这个端口使用accept()系统调用接受连接。

filtered:表示防火墙、包过滤和其它的网络安全软件掩盖了这个端口,禁止nmap探测其是否打开。

unfiltered:表示这个端口关闭,并且没有防火墙/包过滤软件来隔离nmap的探测企图。

举例说明:

1、探测指定网段是否有FTP服务的主机,不做DNS反向解析

nmap -sS –n –p 21192.168.0.0/24

2、探测指定服务器是否启有特定端口的服务

nmap –n –p T:21-25,80,110,3389–sS 192.168.0.1

3、使用TCP连接扫描探测指定服务器,即使无法ping通也仍然继续探测

4、nmap -sT –PO 192.168.0.1

5、探测指定服务器的操作系统类型

nmap –O –n 192.168.0.1

6、探测局域网段中各主机开启了哪些服务

nmap –sS 192.168.0.0/24

7、探测192.168.0.0和172.16.0.0/16网段中有哪些主机在运行

nmap –sP –n 192.168.0.0/24 172.16.0.0/16

8、快速扫描主机开放端口

nmap -F 192.168.0.1

2、TCPDump工具

主要功能:捕获和分析数据包。

TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not等逻辑语句来帮助你去掉无用的信息。

命令格式:tcpdump [ 选项 ] [ -c 数量 ] [ -i 网络接口 ] [ -w 文件名 ] [ 表达式 ]

常用选项:

-l:使标准输出变为缓冲行形式;

-c:抓包次数;

-nn:直接以 IP 及 Port Number 显示,而非主机名与服务名称;

-s :<数据包大小> 设置每个数据包的大小;

-i:指定监听的网络接口;

-r:从指定的文件中读取包;

-w:输出信息保存到指定文件;

-a:将网络地址和广播地址转变成名字;

-d:将匹配信息包的代码以人们能够理解的汇编格式给出;

-e:在输出行打印出数据链路层的头部信息;

-f:将外部的Internet地址以数字的形式打印出来;

-t:在输出的每一行不打印时间戳;

-v :输出稍微详细的报文信息;加一个v更详细。

四种表达式:过滤报文条件

1、关于类型的关键字,主要包括host,net,port, 例如 host210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host。

2、确定传输方向的关键字,主要包括src, dst ,dst or src, dst and src ,这些关键字指明了传输的方向。例如 src210.27.48.2 ,指明ip包中源地址是210.27.48.2, dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。

3、 协议的关键字,主要包括ip,arp,tcp,udp等类型。

4、三种逻辑运算,与运算是'and','&&'; 或运算是'or' ,'||'; 非运算是 'not ' '! '。

其他重要的关键字如下: broadcast,less(小于),greater(大于)

举例说明:

1、截获eth0网卡10次收发所有数据包并将抓包结果保存到test文件,再读取test抓包结果文件

tcpdump –i eth0 –c 10 –w test

tcpdump –r test

2、截获来访问80端口的所有数据包(指定端口范围portrange 1-1024)

tcpdump port 80

3、截获所有来自主机114.254.151.51的进出所有数据包tcpdump host 114.254.151.51

4、截获ip包中源地址是114.254.151.51的(目的是dst)

tcpdump src 114.254.151.51

5、截获主机114.254.151.51和主机114.254.151.52的通信

tcpdum host 114.254.151.51 and 114.254.151.52

6、截获tcp协议并且源地址114.254.151.51来访问80的端口

tcpdump tcp and src 114.254.151.51 and port 80

7、截获主机114.254.151.51除了和114.254.151.52之外的所有ip包

tcpdump ip host 114.254.151.51 and ! 114.254.151.52

8、截获长度大于1000数据包,对于DDOS攻击时,可以使用

tcpdump -i eth0 greater 1000


相关文章
|
23天前
|
运维 监控 数据处理
常用的运维工具:基本的命令行工具详解(grep, awk, sed)
常用的运维工具:基本的命令行工具详解(grep, awk, sed)
38 14
常用的运维工具:基本的命令行工具详解(grep, awk, sed)
|
11天前
|
运维 持续交付 开发工具
自动化运维工具:Ansible入门教程
【8月更文挑战第60天】在现代IT运维管理中,自动化工具的使用已成为提高生产效率、减少人为错误和确保环境一致性的重要手段。本文将介绍Ansible——一款流行的开源自动化运维工具,通过其简单易学的语法和强大的功能,帮助读者快速入门并实现自动化部署和管理。我们将从Ansible的基本概念讲起,逐步深入到实际的代码示例,展示如何利用Ansible简化日常的运维任务。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供实用的知识和技巧,让你轻松驾驭Ansible,开启自动化运维之旅。
|
11天前
|
运维 监控 jenkins
自动化运维之路:从脚本到工具的演变
【9月更文挑战第29天】在数字化浪潮中,运维不再是简单的服务器管理。本文将带您穿越自动化运维的发展历程,揭示如何通过技术革新提升效率与可靠性。我们将探索自动化工具如何解放双手,实现快速部署、监控和故障恢复,最终达到高效运维的目标。
|
17天前
|
运维 关系型数据库 MySQL
自动化运维工具:Ansible入门与实践
【9月更文挑战第23天】本文将带你进入自动化运维的世界,以Ansible为例,从基础概念到实际操作,让你轻松掌握自动化运维技能。我们将一起探索如何通过代码实现批量部署、配置管理和任务执行等功能,提高运维效率,减轻工作压力。让我们一起开启自动化运维之旅吧!
|
14天前
|
运维 Prometheus 监控
运维中的自动化工具与实践指南
本文深入探讨了自动化工具在IT运维中的重要性,提供了多种实用工具的推荐与应用实例。通过分析自动化工具如何提升运维效率、减少错误率,我们将揭示其在现代信息技术管理中的核心价值。无论你是IT新手还是经验丰富的专家,都能从中汲取到有益的知识,进而提升你的工作效果。
|
21天前
|
机器学习/深度学习 人工智能 运维
自动化运维:从脚本到工具的演进之路
【9月更文挑战第19天】在数字化时代的浪潮中,自动化运维如同一剂强心针,赋予IT系统以生命力。本文将带领读者穿梭于自动化运维的历史长河,探索它的起源、成长与变革。我们将一同见证如何从简单的shell脚本起步,逐步演化为复杂的自动化工具和平台。通过深入浅出的语言,我们不仅分享实用的代码示例,还将探讨自动化运维的最佳实践、面临的挑战以及未来的发展趋势。让我们开始这段旅程,解锁自动化运维的秘密,提升你的技术洞察力。
|
23天前
|
存储 运维 网络安全
自动化运维工具:Ansible入门与实践
【9月更文挑战第17天】本文将介绍Ansible的基本概念、安装和简单使用,以及如何编写一个简单的Ansible playbook。通过本文,您可以了解到Ansible的基本原理和使用方法,以及如何在实际工作中应用Ansible进行自动化运维。
|
26天前
|
运维 安全 网络安全
常用的运维工具:SSH和远程连接工具详解
常用的运维工具:SSH和远程连接工具详解
46 3
|
6天前
|
运维 持续交付 数据库
自动化运维工具的探索与实践
【9月更文挑战第34天】在快速发展的IT行业,高效、可靠的运维工作是保障系统稳定运行的关键。本文将介绍一些主流的自动化运维工具,并分享如何通过这些工具来提升运维效率和质量。
|
28天前
|
运维 Prometheus 监控
提升运维效率:自动化工具的应用与实践
运维工作作为信息技术领域的重要组成部分,其效率和质量直接关系到整个系统的稳定运行。随着科技的进步,自动化工具在运维中的应用越来越广泛。本文将探讨几种常见的自动化工具及其在实际操作中的应用案例,旨在为读者提供一些提升运维效率的思路和方法。通过合理利用这些工具,运维人员不仅可以提高工作效率,还能有效降低出错率,从而保障系统的高可用性。
27 0