常见端口扫描原理总结

转载修改自:  https://blog.csdn.net/whatday/article/details/45504961

0. TCP的三次握手



上图是wirkshark抓到的tcp三次握手的过程,符合第一张图描述的过程,首先主机81向88发送同步指令SYN(具体包见上上图,flags中SYN置位),主机88收到请求后,置位SYN,描述该包为同步包,ACK标识该包为回应包,

主机81收到88的回应后通知上层已经建立好连接,seq(Sequence number)字段强调这个包是我发送给你的第几 个包。ack字段强调描述: 我已经收到之前你发送的seq=y个数目的数据包,我期待下一个是y+1个序列的数据包,那么下一个你发给我的数据包seq应该是y+1。

主机88收到81的回复后,告诉上层建立好了TCP连接,可以按双方约定好的参数进行数据传输。

1.扫描方式分析

因为没有包含TCP3次握手建立连接,所以日志系统不记录相关信息,秘密扫描类型有:TCP FIN扫描,TCP ACK扫描,NULL扫描, XMAS扫描, SYN/ACK扫描。

1. TCP connect扫描

    该扫描client和server建立tcp连接,完成三次握手后,client主动关闭连接。server日志会记录下连接的内容。

2. SYN扫描

   置位SYN标识flag,发送同步包,因为没有建立连接,所以扫描目标不会有任何记录。

   若端口开放, 扫描器收到 SYN/ACK 标识回复。

   若端口关闭, 扫描器收到 RST 标识回复。

3. NULL扫描

    数据包flags标识位全都不设置,

   若扫描主机是windows系统,不管端口开放情况,都会回复RST包。

   若扫描主机是linux系统,若端口开放,则不回复。 若端口关闭,则回复RST包。可以探测操作系统。

4. FIN扫描

    FIN标识符置位,表示释放TCP会话。

   若端口开放, 目标主机不回复。

   若端口关闭, 目标主机回复RST。

5. ACK扫描

   扫描主机向目标主机发送ACK标识包,从返回信息中的TTL值得出端口开放信息。

6. Xmas扫描

   同时置位URG/PSH/FIN,该方法和null扫描一样,无法判断windows系统的端口开放情况(Linux下收到该形式的数据包若端口开放会不回复),但是windows不管端口开放如何均会回复。

    















  • 5
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值