总感觉学东西看完就忘,自己记录一下,方便以后回来复习,有的地方就用自己的话总结一下,比较专业的地方就摘抄下来了(原著不要骂俺)。
看了一下大纲,还蛮多的,正好充实一下被延长的寒假。
持续更新,觉得内容还行的就关注下,感觉内容不好的大佬也请喷的轻一点哦。
端口扫描原理
IP与端口
计算机上的通讯软件(比如qq、微信等)在互联网中实现通信,必须要知道对方的地址。这个地址包括两个要点,一个是互联网上的哪一台计算机,另一个是这台计算机中的那个软件(总不能给这台计算机中的每个软件都发个消息吧)。前者就是用IP,后者就是用端口。
端口分类
端口按照不同的划分规则有很多中分类。
第1种:按照不同的协议规则分成TCP和UDP类型的,tcp是面向连接的协议(就像打电话一样,通话之前先确定对方是不是目标对象),udp是无连接的(就像发快递,先发出去,收不收的到再说)。这两种类型的端口会有端口号的重合,不过没事,因为通讯的报文里都标明了那种类型的端口了。
第2种:根据端口的分配分为固定端口和动态端口两大类,固定端口比如说mysql是3306,http是80.这些都是默认绑定的(当然可以手动修改)。动态端口就是留出一部分端口号临时分配给各个通讯软件来使用。
端口扫描的作用
信息搜集中来一波端口扫描,可以确定目标主机上都开放了那些服务,在之后的工作中就对这开放的服务进行漏洞挖掘。就好比进一个教学楼里上自习,总得知道哪些教室可以进,先挨个看看再决定进那个教室一样。
tcp三次握手四次挥手
https://blog.csdn.net/weixin_42172261/article/details/100940987
端口扫描的原理及分类
1 .全TCP连接扫描,这种方法使用三次握手与目标主机建立标准的tcp连接。但是这种方法跟容易被发现,被目标主机记录。
2. SYN扫描,扫描主机自动向目标主机的指定端口发送SYN数据段,表示发送建立连接请求。
如果目标主机的回应报文SYN=1,ACK=1.则说明该端口是活动的,接着扫描主机发送回一个RST给目标主机拒绝连接。导致三次握手失败。
如果目标主机回应是RST则端口是“死的”。
3 FIN扫描,发送一个FIN=1的报文到一个关闭的窗口该报文将丢失并返回一个RST,如果该FIN报文发送到活动窗口则报文丢失,不会有任何反应。
4.代理扫描。就是抓鸡。
代码实现
找到一个比较详细的,以后需要的话回来看。
https://www.jb51.net/article/113768.htm
nmap 端口扫描工具使用
查看nmap版本nmap -v
查看本地路由与接口nmap --iflist
直接扫描nmap ip
这个命令可以扫描目标主机上开放的端口,如果不加一些限定单纯扫的话时间太长了。
ping扫描nmap -sP ip
TCP SYN ping扫描nmap -sP -PS ip
对目标ip发送SYN包来进行扫描。
默认是使用80端口发送,也可以指定端口来发送SYN包,格式nmap -sP -PS8888 ip
TCP ACK ping扫描nmap -sP -PA ip
和syn ping扫描类似
半开扫描nmap -sS ip
不打开一个完整的tcp连接,所以称为半开放扫描
该选项扫描的好处是扫描动作极少会被记录,更具有隐蔽性
自定义端口扫描
限定扫描的端口号为从80到1000nmap -p80-1000 ip
对指定特定端口扫描nmap -p80, 82, 3306 ip
非ping扫描,不执行主机发现,可以跳过防火墙
这个选项比较常用nmap -Pn ip
探测打开端口对应服务的版本信息 -sVnmap -sV ip
对扫描结果进行详细输出 -vvnmap -vv ip
路由追踪扫描 -traceroutenmap -traceroute ip
路由器追踪功能,能够了解网络通行情况
操作系统检测 -Onmap -O ip
万能开关扫描 -A
包含了1-10000端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测(花费时间长)nmap -A ip
扫描一个网段下的ip个数nmap ip/24
注意各个选项可以联合起来使用
来源:CSDN
作者:JGC_fighting
链接:https://blog.csdn.net/weixin_42172261/article/details/104117735