用的工具为linux自带的nmap和tcpdump,如果没有请先安装。
nmap (-n 不做主机名解析 会加快扫描速度) [扫描类型] [选项] <主机>
-sT 全开 连接扫描
-sS 半开 SYN扫描
-sU udp扫描
-A 全面扫描
-sP ping
#看这个范围的端口哪些主机可以ping通
nmap -sP 172.20.162.1-254
#看这个主机有哪些端口是开着的
nmap 172.20.162.12
#nmap -p(指定端口 多个端口用逗号,范围端口用 -)
#不用标准端口扫不出来(比如http的8070端口就不是标准的)
如果一个服务是tcp的就会经过三次握手,
全开:扫描的时候,和目标建立连接,目标接收到请求,端口是开着的就回一个应答(ACK),客户端就会回一个应答,也会经过三次握手
半开:三次握手没有第三步,比全开快。经常用半开扫的话,会对目标有影响(扫多了),没有第三步,服务器在一定时间内会等待客户端回答。拒绝服务攻击
tcpdump [选项] [过滤条件]
-i 制定监控的网络接口
-A 转换为ACSII码,以方便阅读(如果抓ftp是明文的话,可以看见账号和密码)
-w 将数据包信息保存到指定文件(一般是.cap结尾)
-r 从指定文件读取数据包信息
-c 定义抓包个数
时间 程序名称 主机名|ip地址.服务(源ip) 目标地址.端口 数据包具体内容
抓包条件
类型:host(后边跟ip) net port portrange(后边跟端口范围1-20)
方向:src dst
协议:tcp udp ip wlan arp icmp…
多个条件组合:and or not
例子
#抓指定ip的访问本机的icmp协议
tcpdump host 172.162.20.137 and icmp