信息收集之telnet、curl、nmap、masscan的使用方式

本文详细介绍了telnet、curl、nmap和masscan这四个网络工具的命令格式、常用参数以及各自的优缺点。telnet用于测试端口,curl支持多种协议的数据传输,nmap是强大的端口扫描和网络探测工具,masscan则以高速扫描著称。各工具有其特定用途,但也存在安全性和效率等方面的局限性。
摘要由CSDN通过智能技术生成

telnet命令格式

telnet [options] hostname [port]

hostname:远程主机的域名或IP地址。
options:可选参数。
port:远程主机的端口号,默认为23。

telnet常用参数

  • -4:使用IPv4地址连接远程主机
  • -6:使用IPv6地址连接远程主机
  • -8:允许使用8位字符资料,包括输入与输出
  • -a:尝试自动登入远端系统
  • -b:<主机别名> 使用别名指定远端主机名称
  • -c:不读取用户专属目录里的.telnetrc文件
  • -d:启动排错模式
  • -e:<脱离字符> 设置脱离字符
  • -E:滤除脱离字符
  • -F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机
  • -k:<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名
  • -K:不自动登入远端主机
  • -l:<用户名称> 指定要登入远端主机的用户名称
  • -L:允许输入8位字符资料
  • -n:<记录文件> 指定文件记录相关信息
  • -r:使用类似rlogin指令的用户界面
  • -S:<服务类型> 设置telnet连线所需的IP TOS信息
  • -x:假设主机有支持数据加密的功能,就使用它
  • -X:<认证形态> 关闭指定的认证形态

curl命令格式

curl [options] [url...]

options:可选参数
url:web地址

参考:curl命令最全详解

curl常用参数

-a/--append上传文件时,附加到目标文件
--anyauth可以使用“任何”身份验证方法
--basic使用HTTP基本验证
-B/--use-ascii使用ASCII文本传输
-d/--data <data> HTTP POST方式传送数据
--data-ascii <data>以ASCII的方式post数据
--data-binary <data>以二进制的方式post数据
--negotiate使用HTTP身份验证
--digest使用数字身份验证
--disable-eprt禁止使用EPRT或LPRT
--disable-epsv禁止使用EPSV
--egd-file <file>为随机数据(SSL)设置EGD socket路径
--tcp-nodelay使用TCP_NODELAY选项
-E/--cert <cert[:passwd]>客户端证书文件和密码(SSL)
--cert-type <type>证书文件类型(DER/PEM/ENG)(SSL)
--key <key>私钥文件名(SSL)
--key-type <type>私钥文件类型(DER/PEM/ENG)(SSL)
--pass <pass>私钥密码(SSL)
--engine <eng>加密引擎使用(SSL).“–engine list” for list
--cacert <file>CA证书(SSL)
--capath <directory>CA目(made using c_rehash)to verify peer against(SSL)
--ciphers <list>SSL密码
--compressed要求返回是压缩的形式(using deflate or gzip)
--connect-timeout <seconds>设置最大请求时间
--create-dirs建立本地目录的目录层次结构
--crlf上传是把LF转变成CRLF
--ftp-create-dirs如果远程目录不存在,创建远程目录
--ftp-method [multicwd/nocwd/singlecwd]控制CWD的使用
--ftp-pasv使用PASV/EPSV代替端口
--ftp-skip-pasv-ip使用PASV的时候,忽略该IP地址
--ftp-ssl尝试用SSL/TLS来进行ftp数据传输
--ftp-ssl-reqd要求用SSL/TLS来进行ftp数据传输
-F/--form <name=content>模拟http表单提交数据
-form-string <name=string>模拟http表单提交数据
-g/--globoff禁用网址序列和范围使用{}和[]
-G/--get以get的方式来发送数据
-h/--help帮助
-H/--header <line>自定义头信息传递给服务器
--ignore-content-length忽略的HTTP头信息的长度
-i/--include输出时包括protocol头信息
-I/--head只显示文档信息
-j/--junk-session-cookies读取文件时忽略session cookie
--interface <interface>使用指定网络接口/地址
--krb4 <level>使用指定安全级别的krb4
-k/--insecure允许不使用证书到SSL站点
-K/--config指定的配置文件读取
-l/--list-only列出ftp目录下的文件名称
--limit-rate <rate>设置传输速度
--local-port <NUM>强制使用本地端口号
-m/--max-time <seconds>设置最大传输时间
--max-redirs <num>设置最大读取的目录数
--max-filesize <bytes>设置最大下载的文件总量
-M/--manual显示全手动
-n/--netrc从netrc文件中读取用户名和密码
--netrc-optional使用.netrc或者URL来覆盖-n
--ntlm使用HTTP NTLM身份验证
-N/--no-buffer禁用缓冲输出
-p/--proxytunnel使用HTTP代理
--proxy-anyauth选择任一代理身份验证方法
--proxy-basic在代理上使用基本身份验证
--proxy-digest在代理上使用数字身份验证
--proxy-ntlm在代理上使用ntlm身份验证
-P/--ftp-port <address>使用端口地址,而不是使用PASV
-Q/quote <cmd>文件传输前,发送命令到服务器
--range-file读取(SSL)的随机文件
-R/--remote-time在本地生成文件时,保留远程文件时间
--retry <num>传输出现问题时,重试的次数
--retry-delay <seconds>传输出现问题时,设置重试间隔时间
--retry-max-time <seconds>传输出现问题时,设置最大重试时间
-S/--show-error显示错误
--socks4 <host[:port]>用socks4代理给定主机和端口
--socks5 <host[:port]>用socks5代理给定主机和端口
-t/--telnet-option <OPT=val>Telnet选项设置
--trace <file>对指定文件进行debug
--url <URL>Spet URL to work with
-U/--proxy-user <user[:password]>设置代理用户名和密码
-V/--version显示版本信息
-X/--request <command>指定什么命令
-y/--speed-time放弃限速所要的时间。默认为30
-Y/--speed-limit停止传输速度的限制,速度时间‘秒
-z/--time-cond传送时间设置
-0/--http1.0使用HTTP1.0
-1/--tlsv1使用TLSv1(SSL)
-2/--sslv2使用SSLv2(SSL)
-3/--sslv3使用SSLv3(SSL)
--3p-quotelike -Q for the source URL for 3rd party transfer
--3p-url使用url,进行第三方传送
--3p-user使用用户名密码,进行第三方传送
-4/--ipv4使用IP4
-6/–ipv6使用IP6

nmap常见参数解读

  1. 目标规格
nmap 192.168.1.1                    扫描一个IP
nmap 192.168.1.1 192.168.2.1        扫描IP段
nmap 192.168.1.1-254                扫描一个范围
nmap nmap.org                       扫描一个域名
nmap 192.168.1.0/24                 使用CIDR表示法扫描
nmap -iL target.txt                 扫描文件中的目标
nmap -iR 100                        扫描100个随机主机
nmap --exclude 192.168.1.1          排除列出的主机
  1. 扫描手法
nmap 192.168.1.1 -sS        TCP SYN端口扫描(有root权限默认)
nmap 192.168.1.1 -sT        TCP连接端口扫描(没有root权限默认)
nmap 192.168.1.1 -sU        UDP端口扫描
nmap 192.168.1.1 -sA        TCP ACK端口扫描
nmap 192.168.1.1 -sW        滑动窗口扫描
nmap 192.168.1.1 -sM        TCP Maimon扫描
nmap 192.168.1.1-3 -sL             不扫描,仅列出目标
nmap 192.168.1.1/24 -sn            只进行主机发现,禁用端口扫描
nmap 192.168.1.1-5 -Pn             跳过主机发现,直接扫描端口
nmap 192.168.1.1-5 -PS22-25,80     端口X上的TCP SYN发现,默认80
nmap 192.168.1.1-5 -PA22-25,80     端口X上的TCP ACK发现,默认80
nmap 192.168.1.1-5 -PU53           端口X上的UDP发现,默认40125
nmap 192.168.1.1/24 -PR            本地网络上的ARP发现
nmap 192.168.1.1 -n                不做DNS解析
  1. 端口规则
nmap 192.168.1.1 -p 21                扫描特定端口
nmap 192.168.1.1 -p 21-100            扫描端口范围
nmap 192.168.1.1 -p U:53,T:21-25,80   扫描多个TCP和UDP端口
nmap 192.168.1.1 -p-                  扫描所有端口
nmap 192.168.1.1 -p http,https        基于服务名称的端口扫描
nmap 192.168.1.1 -F                   快速扫描(100个端口)
nmap 192.168.1.1 --top-ports 2000     扫描前2000个端口
nmap 192.168.1.1 -p-65535             从端口1开始扫描
  1. 时间和性能
nmap 192.168.1.1 -T0    妄想症,非常非常慢,用于IDS逃逸
nmap 192.168.1.1 -T1    猥琐的,相当慢,用于IDS逃逸
nmap 192.168.1.1 -T2    礼貌的,降低速度以消耗更小的带宽,比默认慢十倍
nmap 192.168.1.1 -T3    正常的,默认,根据目标的反应自动调整时间模式
nmap 192.168.1.1 -T4    野蛮的,在一个很好的网络环境,请求可能会淹没目标
nmap 192.168.1.1 -T5    疯狂的,很可能会淹没目标端口或是漏掉一些开放端口
  1. NSE脚本
nmap 192.168.1.1 -sC                        使用默认的NSE脚本进行扫描
nmap 192.168.1.1 --script=banner            使用单个脚本扫描,banner示例
nmap 192.168.1.1 --script=http,banner       使用两个脚本扫描,示例http,banner
nmap 192.168.1.1 --script=http*             使用通配符扫描,http示例
nmap 192.168.1.1 --script "not intrusive"   扫描默认值,删除侵入性脚本
nmap 192.168.1.1 --script=smb-vuln*         扫描所有smb漏洞
nmap 192.168.1.1 --script=vuln              扫描常见漏洞
  • 输出
nmap 192.168.1.1 -v                      增加详细程度,-vv效果更好
nmap 192.168.1.1 -oN test.txt            标准输出写入到指定文件中
nmap 192.168.1.1 -oX test.xml            将输入写成xml的形式
nmap 192.168.1.1 -oG grep.txt            将输出写成特殊格式
nmap 192.168.1.1 -oA results             将输出所有格式,有三种 .xml/.gnmap/.nmap
nmap 192.168.1.1 --open                  仅显示开放的端口
nmap 192.168.1.1 -T4 --packet-trace      显示所有发送和接收的数据包
nmap --resume test.txt                   恢复扫描,配合-oG等命令使用

7.扫描结果端口状态

  • open:端口是开放的
  • closed:端口是关闭的
  • filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态
  • unfiltered:端口没有被屏蔽,但是否开放需要进一步确定
  • open / filtered:端口是开放的或被屏蔽
  • closed / filtered :端口是关闭的或被屏蔽

参考:nmap命令详解及实现

masscan简单用法

masscan --ports 1-10000 192.168.26.131 --adapter-ip 192.168.26.1

masscan详细参数

<ip/range>                       IP地址范围,有三种有效格式:
                                  1、单独的IPv4地址
                                  2、类似"10.0.0.1-10.0.0.233"的范围地址 
                                  3、CIDR地址 类似于"0.0.0.0/0",多个目标可以用都好隔开

-p <ports,--ports <ports>>        指定端口进行扫描

--banners                         获取banner信息,支持少量的协议

--rate <packets-per-second>       指定发包的速率

--max-rate                        每秒发的包数量,根据机器和网络情况自行选择 
                                  例:--max-rate 100000

-c <filename>, --conf <filename>  读取配置文件进行扫描

-iL                               扫描文件中的ip地址 例:-iL ip.txt

--echo                            将当前的配置重定向到一个配置文件中

-e <ifname> / --adapter <ifname>  指定用来发包的网卡接口名称

--adapter-ip <ip-address>         指定发包的IP地址

--adapter-port <port>             指定发包的源端口

--adapter-mac <mac-address>       指定发包的源MAC地址

--router-mac <mac address>        指定网关的MAC地址

--exclude <ip/range>              IP地址范围黑名单,防止masscan扫描

--excludefile <filename>          指定IP地址范围黑名单文件

--includefile,-iL <filename>     读取一个范围列表进行扫描

--ping                            扫描应该包含ICMP回应请求

--append-output                   以附加的形式输出到文件

--iflist                          列出可用的网络接口,然后退出

--retries                         发送重试的次数,以1秒为间隔

--nmap                            打印与nmap兼容的相关信息

--http-user-agent <user-agent>    设置user-agent字段的值

--show [open,close]               告诉要显示的端口状态,默认是显示开放端口

--noshow [open,close]             禁用端口状态显示

--pcap <filename>                 将接收到的数据包以libpcap格式存储

--regress                         运行回归测试,测试扫描器是否正常运行

--ttl <num>                       指定传出数据包的TTL值,默认为255

--wait <seconds>                  指定发送完包之后的等待时间,默认为10--offline                         没有实际的发包,主要用来测试开销

-sL                               不执行扫描,主要是生成一个随机地址列表

--readscan <binary-files>         读取从-oB生成的二进制文件,可以转化为XML或者JSON格式.

--connection-timeout <secs>       抓取banners时指定保持TCP连接的最大秒数,默认是30秒。

telnet、curl、nmap、masscan的优缺点

telnet优缺点

优点:

  • 简单易用,可用于测试端口是否开放和连接是否正常。
  • 支持多种协议,如Telnet协议、SMTP协议、POP3协议等。

缺点:

  • 传输数据不加密,安全性较差。
  • 仅支持文本协议,无法传输二进制数据。
  • 不支持多线程操作。

curl优缺点

优点:

  • 支持多种协议,包括HTTP、FTP、SMTP、TELNET、LDAP等。
  • 支持多种数据传输方式,如URL、POST、PUT等。
  • 支持自定义HTTP头部信息、Cookie等。

缺点:

  • 不支持多线程操作,速度较慢。
  • 对于复杂的数据格式支持不足。

nmap优缺点

优点:

  • 可扫描多种协议,如TCP、UDP、ICMP等。
  • 可进行端口扫描、操作系统识别、服务识别、漏洞扫描等。
  • 支持大规模扫描。

缺点:

  • 扫描时间较长(速度慢)。
  • 对于一些防火墙和入侵检测系统会被识别为攻击行为。

masscan优缺点

优点:

  • 高速、高效,可在极短的时间内扫描大量端口。
  • 支持自定义扫描范围和速度。

缺点:

  • 只支持TCP协议。
  • 扫描结果不稳定,有些端口可能会被误判为开放或关闭。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值