大学霸论坛

 找回密码
 立即注册
从实践中学习Kali Linux渗透测试大学霸
搜索
热搜: 活动 交友 discuz
查看: 712|回复: 0

TCP端口探测总结

[复制链接]

50

主题

51

帖子

2670

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2670
发表于 2022-8-24 17:35:46 | 显示全部楼层 |阅读模式
由于服务数据的可靠性传输都使用TCP协议,所以探测TCP端口就显得尤为必要。常见的TCP扫描分为几种。

1.全连接探测:根据TCP握手流程,客户端发送TCP SYN包。如果服务器的端口打开,就返回SYN/ACK包,客户端再发送ACK包,结束握手过程。如果服务器端口没打开,则返回RST/ACK。客户端根据返回的包类型,确定端口是否打开。这种方式准确性高,但容易被日志系统记录。

2.SYN探测:为了规避日志系统记录,如果服务器返回SYN/ACK包,客户端返回RST包,中断握手构成。这样,日志系统就不会记录。但现在的防火墙软件都会发现这种扫描。

3.反转TCP探测:为了规避防火墙,客户端故意发送一些错误的包,如标记FIN的TCP包。按照协议规范,服务器端口如果关闭,就应该返回RST/ACK包。通过这个机制,反向确定服务器的端口是否开放。这种技术适用于Linux系统,但不适合Windows系统。因为WIndows没遵守这个规范。

4.ACK探测:这是针对BSD系统实现TCP/IP协议栈的漏洞,设计的一种扫描方式。它触发服务器返回RST包,然后大量对比打开和关闭的端口响应TTL和Window值不同,区分端口的开放。

所以,只要对协议工作机制和实现模式了解足够多,自己写个工具真的不难,尤其是利用Python的scapy模块。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Daxueba

GMT+8, 2024-4-26 05:34

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表