给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
举个例子:
电脑就好比你家的一栋超级大的房子,这个大房子每时每刻都有很多人进进出出:快递小哥、外卖、朋友造访、送特供菜的菜农……乱做一团,大家根本不知道该把东西给谁,于是你就出了个规定,给房子开了很多个门,然后规定每一个来的人要根据自己要办的事走不同的门进来,比如对外发邮件的统一走25号门,接收邮件的统一去110号门,访问WEB页面查询信息的统一走80号门,传送文件的走21号门等等。这个门就是我们说的虚拟端口,简称为端口。在电脑中一共有65536个(2^16)这样的端口,编号从0~65535。这些门有些门的作用是规定好了的,大部分是没有规定的。 很多程序都是有系统默认端口,我们在访问端口的时候,如果是系统默认的端口,比如我们访问http网页,不指定端口默认80端口;访问https网页,不指定端口默认443端口,访问http://www.baidu.com,而不用输入http://www.baidu.com:80。
2、常用的端口
端口有65536个,但是也有一些规律,其中0 到 1023 之间的端口,又叫公认端口(WellKnownPorts),这是系统保留的具有特定用途的,比如 ftp 的 21、ssh 的 22、http 的 80 等,但并不代表这些端口就是固定的,管理也可以将端口重定向。比如系统默认的HTTP服务是80端口,你也可以将其重新定向为别的,比如8080。 1024 到 65535 之间的端口,大家可以随意设置,不过一些知名度比较高的产品一般默认使用的端口别人也不会去占用,基本上就默认是他们专属的端口了,用的多的比如 mysql 的 3306、mssql 的 1433、oracle 的 1521 等。
当然一些木马也会有一些默认端口,比如说冰河默认的端口就是7626,NETBUS的默认端口是12345。另外,由于TCP和UDP两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也 可以有235端口,两者并不冲突。
常见端口:
常见端口及服务
一些常见端口对安全运维人员还是要熟记于心的,比如FTP:21,telnet:23,SMTP:25,DNS:53,http:80,POP3:110,NETBIOS:137-139,https:443,文件夹和打印机的共享服务:445,MS SQL:1433,oracle:1521,mysql:3306,远程桌面:3389 等等。
3、端口在安全中的作用
对于管理员和网络安全工作者来说,端口在攻防两端一个非常重要的概念。如果强盗想进入你的房子,必然会先找到你家的门,然后想办法破门而入。同样,入侵者通常会用扫描器对目标主机进行端口扫描,以确定开放的端口及其端口对应的服务程序,进而猜测可能存在的漏洞,比如开放了1433端口,猜测服务器上可能运行了mssql数据库,然后用常用的用户名字典(如sa)和常用的弱密码字典,尝试登录……所以称职的网络管理员,则要通过查看当前电脑的端口开放及连接情况,发现可疑连接和端口状态,从而及时发现异常情况,找到木马或者黑客的连接,当发现电脑上出现不认识的或者感觉异常的端口连接或者处于监听状态,就要分析一下对应的进程,确定是否中了病毒或者被黑客攻击。
二、端口的使用查看
1、查看端口的占用情况
-Windows平台-
使用命令netstat -an 不要问为什么使用-an,netstat参数这里就不介绍了…
netstat命令
第一列表示协议类型,分TCP和UDP两种; 第二、三列表示本地地址和端口、外部地址和端口。其中0.0.0.0表示本机所有可用的地址,如0.0.0.0:135表示本机所有ip地址的135端口;127.0.0.1表示本机ip地址,192.168.60.29表示当前网卡的IP地址,本地127.0.0.1一般用于本机进程间通信,网卡ip地址一般是与外界进行网络通信,这就好比一个叫张网安的人,小名叫狗剩,在家里家人都喊他狗剩,但是在外面别人叫他张网安,别人并不认识狗剩。[::]和[fe80::7ce8:c77b:334b:4153%10]又是什么鬼呢?这个是指本机的IPV6址;由于UDP是一个广播协议,不需要跟远端建立连接,所以并没有确定的地址和端口,所以所有UDP协议的外部连接都是*:,:*就表示任意地址和任意端口;
第四列表示端口当前的状态。LISTENING表示侦听来自远方的TCP端口的连接请求;SYN-SENT表示再发送连接请求后等待匹配的连接请求;SYN-RECEIVED表示再收到和发送一个连接请求后等待对方对连接请求的确认;ESTABLISHED代表一个打开的连接;FIN-WAIT-1表示等待远程TCP连接中断请求,或先前的连接中断请求的确认;FIN-WAIT-2表示从远程TCP等待连接中断请求;CLOSE-WAIT表示等待从本地用户发来的连接中断请求;CLOSING表示等待远程TCP对连接中断的确认;LAST-ACK表示等待原来的发向远程TCP的连接中断请求的确认;TIME-WAIT表示等待足够的时间以确保远程TCP接收到连接中断请求的确认;CLOSED表示没有任何连接状态。
-Linux平台-
(1)使用LSOF命令
如lsof -i:80,如果没有显示内容,则表示该端口未开放,如果开放,则会显示相应信息
(2)使用netstat命令
netstat -aptn查看所有端口连接 netstat -ntpl查看TCP端口连接
netstat -nupl查看UDP端口连接
(3)使用telnet命令
同时适用于Windows和Linux系统,如想查看192.168.60.29主机是否打开了80端口,可使用命令:telnet 192.168.60.29 80
2、干掉占用某端口的进程 我们可能经常遇到一种情况,比如程序需要使用8189端口,但是发现该端口一直被占用,而且不能确认是什么程序,这时我们需要找到并杀死占用端口的进程!
在windows下,运行命令:netstat -ano|findstr 8189
netstat -ano|findstr 8189
发现占用该端口的进程号是13064,然后输入“taskkill /pid 13064 /f” 停止端口占用。
taskkill /pid 13064 /f
Linux系统下,与此类似:
查找被占用的端口:
netstat -tln | grep 8189
查看端口属于哪个程序
lsof -i :8189
杀掉占用端口的进程:
kill -9 进程ID
三、端口的打开关闭
端口是黑客最容易利用的渠道,通过扫描端口打开情况,黑客就可以利用漏洞入侵计算机,所以对于一些非必要的端口,我们要及时关闭。那么我们今天就来讲一讲如何关闭和打开端口。以关闭端口为例来介绍,打开只是关闭的反向操作。
1、关闭服务从而关闭端口
对于1024以下的端口,因为是系统占用的,一般软件也不会去占用,比如WEB使用80端口,FTP使用21端口,共享文件和打印机使用445端口等,还有一些端口,是约定俗成的服务常用的,比如远程桌面,默认占用3389端口,MSSQL默认占用1433等等。
类似这样的端口如果要关闭,只要禁用相应服务即可。我们以3389端口为例,来看看如何关闭它。我们知道,3389端口是Windows 系统远程桌面的服务端口,可以通过这个端口,用"远程桌面"等连接工具来连接到远程的服务器,如果连接上了,输入系统管理员的用户名和密码后,将变得可以像操作本机一样操作远程的电脑,是管理员远程维护服务器的利器,当然黑客用起来也很方便。一般建议关闭远程桌面服务,或者更改端口号。下面来看看如何关闭3389服务。3389端口对应的服务有前台和后台,先看来来后台服务,右键“我的电脑”—>“管理”—>左侧菜单找到“服务”,找到三个以Remote Desktop开头的三个服务,将其禁用。
Remote Desktop Configuration
Remote Desktop Services
Remote Desktop Services UserMode Port Redirector 如图:
同时,按照提示,还应该将系统属性控制面板项目的“远程”选项卡上的复选框清除,右键“我的电脑”—>“属性”—>左侧菜单找到“远程设置”
关闭服务是一个彻底杜绝黑客利用该漏洞来进行攻击的釜底抽薪方法,但也是一个因噎废食的方法,因为如果彻底关闭这些服务固然能防止黑客,但同时也会给我们的工作带来诸多不便。如果你必须要用到该服务,又担心黑客通过该端口攻击,也可以通过注册表修改该服务所占用的端口号。在注册表中,有两个地方需要修改:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] PortNumber值,默认是3389,修改成所希望的端口,如9833。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]PortNumber值,默认是3389,同样修改成所希望的端口值,如9833。
当然,根据服务器安全的最小化原则,对于一些没有必要的服务,一定要禁用,比如,如果不是WEB服务器,就不要开户WEB服务,如果不是FTP服务器,就不要开户FTP服务,这些服务和端口都是黑客最容易利用的。
这种方法一般适用于固定端口的服务,如一些系统服务或者常见应用系统的服务,只是关闭了利用该端口的服务,并没有将端口关闭。如果将电脑比做一个大楼,里面有65536个房间,端口就是每个房间的门,这种方式是将这个房间里面的人赶走了,但门并没有关,或者还会有别的人来占用这个房间。为了防止别人来占用这个房间,还是要通过别的方法,比如通过大楼的门卫检查通行证。
2、利用策略阻止端口访问
以WIN10为例:右键点击开始菜单,选择运行,在输入框输入gpedit.msc,回车,打开“策略编辑器”。计算机配置—>windows设置—>安全设置,创建IP安全策略:
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新