一、常见IP地址和端口
1.常用IP地址 – 本机:127.0.0.1(localhost)
- 广播地址:255.255.255.255
2.常见端口 – Web(HTTP):80
- Web(HTTPS):443
- Tomcat:8080
- FTP(文件传输协议):21
- SSH(安全Shell):22
- Microsoft RD(微软远程桌面):3389
- Mircosoft SMB(服务器消息块):445
- MySQL:3306
- 通过端口扫描工具,可以推测目标主机上运行了哪些进程,进而利用这些应用程序的漏洞选择适当的攻击方式。
二、OSI参考模型与TCP/IP协议族
- 计算机网络的体系结构:从最高层的各个应用到最底层的物理连接的整个体系。
- OSI参考模型:OSI参考模型是ISO规定的标准,共七层,从高到低依次为:
- 应用层(Application)
- 表示层(Presentation)
- 会话层(Session)
- 运输层(Transport)
- 网络层(Network)
- 数据链路层(Data link)
- 物理层(Physical)
- 因为OSI过于复杂,所以互联网的事实上标准是TCP/IP协议族,TCP/IP协议族并不是单独指TCP/IP协议,而是一个庞大的协议家族,共四层,从高到低依次为:
- 应用层(Application)
- 运输层(Transport)
- 网络层(Network)
- 链路层(Link)
- 为了研究方便,使用的是五层协议,从高到低依次为:
- 应用层(Application)
- 运输层(Transport)
- 网络层(Network)
- 数据链路层(Data Link)
- 物理层(Physical)
- TCP和UDP工作于运输层、IP工作于网络层、HTTP等协议工作于应用层。
- IP地址是网络层的地址,MAC地址是数据链路层的地址。
- 物理层传输的单元是比特,数据链路层是MAC帧,网络层是IP数据报,运输层是TCP报文。
三、机器语言、汇编语言和高级语言
- 机器语言:直接在机器上执行的指令,这种指令和计算机的体系结构密切相关,一般而言只有相同体系结构的计算机的各种指令(我们称为指令集)才相同。
- 汇编语言:实际上机器语言就是由0和1组成的,不利于程序员编程,所以有了汇编语言。汇编语言就是利用一些容易记忆的符号来符号化机器指令,变成汇编指令。但是汇编语言源程序是不能直接运行的,要经过汇编程序处理之后才能运行,这个过程称为汇编。将机器语言转化为汇编语言的过程称为反汇编。
- 高级语言:汇编语言编程还是和计算机的体系结构相关的,随着软件技术发展又出现了高级语言。高级语言使用的是类似英语的语法进行编程,而且很多高级语言可以实现平台无关(下面具体介绍原理)。高级语言源程序同样不能直接运行,需要经过程序转化为机器语言* 才能执行,这个过程称为编译或解释。
四、计算机执行指令的过程
- 程序:在内存上
- 控制器取指令、分析指令
- 运算器执行指令
五、高级语言的分类
- 编译:编译程序一次性将高级语言转化为机器语言,此过程称为编译。常见的编译型语言:C语言、C++、Java、C#、Objective-C等。
- 解释:解释程序读取一行就转化为对应的机器语言执行,执行之后再解释下一行,此过程称为解释。常见的解释型语言:HTML、JavaScript、Python、PHP等。
- 强类型、弱类型。