常见的应用层协议:
DNS HTTP SMTP与POP3/IMAP Telnet FTP与TFTP
——————————————————————————————————————————
DNS协议:Domain Name System,域名解析系统
- 建立IP地址与域名之间的映射关系
- 将域名解析为IP地址
- 将IP解析为域名(*域名最本质的作用 就是为了方便记忆,例如www.baidu.com等)
原理如下图所示:
DNS常见命令总结:
1:nslookup dns调试工具
2:ipconfig /displaydns 查看DNS缓存
正是由于DNS缓存,通过域名访问网站,并不是每次访问都需要向DNS服务器进行询问。
当然,我们也可以清楚本地缓存。具体命令如下:
3:Ipconfig /flushdns 清空DNS缓存
*******************搭建DNS环境,抓包分析:***********************************
DNS服务配置
(1)先配置DNS服务器的IP 地址如下所示:
(2)配置域名-IP
(3)为PC1配置DNS服务器
(3)配置好之后
在PC端 执行命令ping www.baidu.com
利用wireshark进行抓包,具体包信息如下
Query包(询问www.baidu.com域名所对应的IP 是多少)
Response
************关于DNS总结:
- DNS本质是解决什么问题?即DNS原理 DNS缓存等
- DNS常见的命令?
- DNS数据包长什么样子
- 好用的DNS服务器IP
114.114.114.114
8.8.8.8(谷歌,不推荐)
223.5.5.5 阿里云
*试想一排错场景:所有网页都打不开,但是QQ却能上网。
——————————————————————————————————————————
Telnet协议(Terminal -Network )终端网络
(1)远程管理的主要协议(网络设备,服务器,数据库)
(2)常用的终端工具:SecureCRT,Putty, Xshell
(3)特点:不安全,通过抓包,可以看到所有内容。包括用户名和密码等隐私信息
************Telnet 并抓包分析************
(1)telnet 服务器 远程建立连接
(2)建立连接之后,查看bgp,命令如下所示:
(3)输入命令,显示内容如下:
查看wireshark,具体包信息如下:
所有的包都是明文形式的,如何根据上述所有的数据包如何还原成实际收到的内容?如上所示,打开追踪流,打开tcp流:
问题:为什么其余都是显示一遍,而输入的用户名密码却是Double呢?如下所示:
只要进入telnet界面之后,所有看到的内容都是服务器反馈回来的,用户名和密码每敲一个(给服务器发送过去)屏幕上显示一个,均为服务器反馈回来的回显。即:收发数据的为2份。如果输入的时候不回显的话,就是一份。
————————————————————————————————
HTTP协议:Hypertext Transfer Protocol 超文本传输协议
原理示意图:
随便找一个http协议网站利用burp-suite进行抓包:
观察数据包:
请求:
响应:
**************为什么说http不安全?
示例:(只供演示学习)如何l利用wireshark抓取到的http数据包,找出其用户名和密码?
(1)随便找一个http协议网站,能发送post请求。找个能登陆的网站,输入用户名和密码
(2)利用wireshark进行抓包
如上图所示:一般密码所在的数据包要大,一定是最大的数据包么?不一定
假设我们认为200的数据包中包含密码。打开那个数据包
搜索字段 password? pass username 即可获得。
上述可见,其http不安全。