⚔️TCPIP实验🛡️
协议了解
- HTTP-超文本传输协议
- SMTP-简单邮件传输协议
- POP2-收邮件协议2
- FTP-文件传输协议
- Telnet-远程传输协议(不安全)
- SNMP-简单网络管理协议
- DNS-域名服务器协议
- T-传输
- C-控制
- P-协议
给我送手机,可靠性传输
- U-用户
- D-数据包
- P-协议
5个包子51个人抢,不可靠性传输
- ICMP-控制报文协议
- ARP-地址解析协议
- IP-网际互联协议
- RIP-路由信息协议
- OSPF-内部网关协议
- STP-生成树协议
- BGP-路由协议
- ISIS-链接状态路由协议
message报文
数据包(封包)
头 | 数据 |
---|
接受到了数据不一定得到信息,得到了信息一定收到了数据。
用端口号来翻译收到的信息
📊上课课件:
https://portn.kbai.cc:82/hexo&kbai/doc/wlgfdy/About%20TCP.pptx
🐬二、Wireshark的使用
📊上课课件:
https://portn.kbai.cc:82/hexo&kbai/doc/wlgfdy/How%20to%20use%20Wireshark.pptx
🪶本节课的作业
使用Wreshark证明Telnet的连接是不安全的
- Ubuntu20.04 LTS 64位,这个用来作为Telnet被连接的机器
- KaLi 64位,这个用来使用Wireshark来抓包
- CentOS 7.5 1804 64 位,用这个来用作Telnet连接的机器
2、在Ubuntu20.04 LTS 64位上面配置Telnet服务
- 安装Telnet服务的客户端服务端以及守护程序
sudo apt update
sudo apt install telnet telnetd xinetd
- 修改配置文件:
/etc/inetd.conf
如果没有这个文件就自动添加
sudo vim /etc/inetd.conf
- 写入配置文件以下的代码
telnet stream tcp nowait telnetd /usr/sbin/tcpd/ /usr/sbin/in.telnetd
telnet stream tcp nowait root /usr/sbin/tcpd/ /usr/sbin/in.telnetd
- 再来修改配置文件:
/etc/xinetd.conf
sudo vim /etc/xinetd.conf
- 如下图位置所示,增加如下内容
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
- 再来修改配置文件:
/etc/inetd.conf
vim /etc/xinetd.d/telnet
- 如下图位置所示,增加如下内容
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
- 开启Telnet服务
sudo systemctl restart xinetd
# 或者是
sudo /etc/init.d/xinetd restart
- 查看主机IP地址
ip a
2、在CentOS 7.5 1804 64 位上面配置Telnet服务
- 安装Telnet服务的客户端服务端以及守护程序
sudo yum update
sudo yum install -y telnet telnetd xinetd
3、在KaLi 64位上面打开Wireshark来进行抓包
4、在CentOS 7.5 1804 64 位上面进行Telnet连接,并进行命令操作
5、返回KaLi 64位上面查看Wireshark的抓包信息
- 下面的是过滤前的结果,下面有此次抓包的结果文件
https://portn.kbai.cc:82/hexo&kbai/doc/wlgfdy/Telnet%e6%8a%93%e5%8c%85.pcap
6、进行过滤器来进行分析
- 过滤后的结果,可以看见我被抓包时,每次输入的内容
-
例如:我这句连续输入
dingye
这些字符 -
输入的
d
- 输入的
i
- 省略两张图
ng
:输入的y
- 输入的
e
⚠️结论
Telnet的连接没有进行任何的加密传输,即在使用Telnet服务的时候,只要有人使用抓包软件,就能够抓取你对服务器的所有操作信息!所以说Telnet协议是不安全的。
🍳三、TCP连接时的数据分析
🪶本节课的作业
使用Wreshark进行三次握手、四次挥手的TCP协议分析
- KaLi 64位,这个用来使用Wireshark来抓包,并进行数据分析
- 对我的主页( https://erhe.group/ )进行访问,进行抓包数据分析
1、先开启抓包,然后进行网页的访问,下面是抓包的结果
- 下面的是过滤前的结果,下面有此次抓包的结果文件
https://portn.kbai.cc:82/hexo&kbai/doc/wlgfdy/tcp-3th-4rd.pcap
2、进行数据包的过滤
过滤器的命令
((tcp.srcport == 443) && (tcp.dstport == 33312)) || ((tcp.srcport == 33312) && (tcp.dstport == 443))
下面是过滤后得到的结果!
🤝三次握手:
第一步:我们我们发送了一个HTTP的HEAD请求。
第二步:服务器收到我们的请求返回了一个Seq/ACK进行确认。
第三步:服务器将HTTP的头部信息返回给我们客户端状态码为200表示页面正常第四步:客户端收到服务器返回的头部信息向服务器发送Seq/ACK进行确认。发送完成之后客户端就会发送FIN/ACK来进行关闭链接的请求。
我这次抓到的结果
👋四次挥手:
第一次挥手:服务端发送一个[FIN+ACK],表示自己没有数据要发送了,想断开连接,并进入FIN_WAIT_1状态
第二次挥手:客户端收到FIN后,知道不会再有数据从服务端传来,发送 ACK进行确认,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),客户端进入CLOSE_WAIT状态。
第三次挥手:客户端发送[FIN+ACK]给对方,表示自己没有数据要发送了,客户端进入LAST_ACK状态,然后直接断开TCP会话的连接,释放相应的资源。
第四次挥手:服务户端收到了客户端的FIN信令后,进入TIMED_WAIT状态,并发送 ACK确认消息。服务端在TIMED WAIT状态下,等待一段时间,没有数据到来,就认为对面已经收到了自己发送的ACK并正确关闭了进入CLOSE状态,自己也断开了TCP连接,释放所有资源。当客户端收到服务端的ACK回应后,会进入CLOSE状态并关闭本端的会话接口,释放相应资源。
我这次抓到的结果
📊预备课件:
https://portn.kbai.cc:82/hexo&kbai/doc/wlgfdy/How%20to%20use%20the%20NMAP.pptx
📣特别声明
原文地址:Python学习 - 开摆工作室博客 (kbai.cc)
此文章全部都是依靠自己的学习理解来写的原创文章,难免可能会出现有错误的地方,
如果大家以后阅读的时候发现有问题,那就麻烦到下方评论区来进行错误指出,使错误尽快做出改正,
在此,感谢大家的阅读与支持!🤝💦🎉
🍻支持一下
觉得我写的好的话可以支持一下我哦~持续关注我,会更新其他好玩且实用的项目。
👋如果我能帮助到你,那就请我喝杯🧋呗~👇👇👇
我的博客链接:blog.kbai.cc