Linux · 09/08/2019 0

网络连通性测试和端口扫描

包含命令:nc、telnet、nmap

1. nc

nc是netcat的简写。参数介绍:

  • -p 端口
  • -l 侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
  • -u 使用UDP协议。默认使用TCP
  • -v 输出详细信息
  • -w 超时时间 秒
  • -z 不发送任何数据
  • -s 指定发送数据的源IP地址,适用于多网卡机

2. telnet

基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。

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

3. nmap

  • -sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。
  • -sS 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。
  • -sF -sN 秘密FIN数据包扫描、Xmas Tree、Null扫描模式
  • -sP ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。
  • -sU UDP扫描,但UDP扫描是不可靠的
  • -sA 这项高级的扫描方法通常用来穿过防火墙的规则集
  • -sV 探测端口服务版本
  • -Pn 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
  • -v 显示扫描过程,推荐使用
  • -h 帮助选项,是最清楚的帮助文档
  • -p 指定端口,如“1-65535、1433、135、22、80”等
  • -O 启用远程操作系统检测,存在误报
  • -A 全面系统检测、启用脚本检测、扫描等
  • -oN/-oX/-oG 将报告写入文件,分别是正常、XML、grepable 三种格式
  • -T4 针对TCP端口禁止动态扫描延迟超过10ms
  • -iL 读取主机列表,例如,“-iL C:\ip.txt”

4. 网络连通性测试

IP:10.0.1.1 端口:22

TCP:(nc -l 1234)

  • telnet 10.0.1.1 1234
  • nmap 10.0.1.1 -p1234
  • nc -vz 10.0.1.1 1234 (端口可使用范围1234-1255)

UDP: (可使用nc -ul 1234)

  • nc -vzu 10.0.0.1 1234
  • nmap -sU 10.0.1.1 -p 1234 -Pn (-Pn :防止服务器禁PING或者防火墙而不扫描)