Skip to content

TCP/IP-Core Protocols

BX

TCP/IP-Core Protocols


img

先放一张 OSI 简化图

应用层         ← HTTP、FTP、SMTP、POP3、IMAP、DNS...
传输层         ← TCP 或 UDP
网络层         ← IP 协议(IP地址等)
链路层         ← 物理传输(网卡、Wi-Fi、电缆等)

DNS

DNS 工作在应用层,即 ISO OSI 模型的第 7 层。DNS 流量默认使用 UDP 端口 53,并使用 TCP 端口 53 作为默认回退。有许多类型的 DNS 记录

WHOIS

whois 是一个网络命令行工具,用于查询域名注册信息IP地址的归属信息。它通过访问公共的 WHOIS 数据库,返回有关域名或 IP 的注册人、注册机构、注册时间、过期时间、DNS服务器等信息

sudo apt install whois       # Debian/Ubuntu
sudo yum install whois       # RHEL/CentOS

基本查询语法

img

whois [选项] [域名或IP地址]

# 查询域名注册信息
whois example.com

# 查询IP归属
whois 8.8.8.8

img

还有就是

例子

比如说查询 x.com 是什么时候创建的

whois x.com

img

FTP

基本特性:

命令如下

命令功能
open连接 FTP 服务器
user输入用户名和密码
ls列出目录内容
cd切换目录
get下载文件
put上传文件
mget批量下载
bye / quit退出连接

连接示例

root@ip-10-10-82-248:~# ftp 10.10.64.101
Connected to 10.10.64.101.
220 (vsFTPd 3.0.5)
Name (10.10.64.101:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 0        0            1480 Jun 27  2024 coffee.txt
-rw-r--r--    1 0        0              14 Jun 27  2024 flag.txt
-rw-r--r--    1 0        0            1595 Jun 27  2024 tea.txt
226 Directory send OK.
ftp> get flag.txt
local: flag.txt remote: flag.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for flag.txt (14 bytes).
226 Transfer complete.
14 bytes received in 0.00 secs (11.9929 kB/s)
ftp> !ls
'=2.5,!=2.5.0,!=2.5.2,!=2.6'   Downloads      Postman   thinclient_drives
 burp.json		       flag.txt       Rooms     Tools
 CTFBuilder		       Instructions   Scripts
 Desktop		       Pictures       snap
ftp> !cat flag.txt
THM{FAST-FTP}

流量分析

常见 FTP 命令定义(协议级别)

img

命令含义
USER指定用户名
PASS指定密码
LIST显示文件列表
RETR下载文件
STOR上传文件
DELE删除文件
CWD改变当前目录
PWD显示当前目录
QUIT关闭连接

协议用途典型端口是否支持邮件接收
SMTP邮件发送25, 587, 465
POP3邮件接收(下载)110, 995
IMAP邮件接收(同步)143, 993

SMTP

SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是电子邮件传输的核心协议,用于在邮件客户端和服务器之间、或者服务器与服务器之间发送电子邮件。它定义了邮件从发送方传送到接收方的规则和流程

SMTP 的特点

SMTP通信

SMTP 主要就是分为三个阶段

这里用 THM 的截图展示

img

1. 建立连接

2. 邮件传输

命令含义
HELOEHLO向服务器打招呼并表明身份
MAIL FROM:指定发件人邮箱地址
RCPT TO:指定收件人邮箱地址
DATA开始发送邮件正文,正文以 . 结尾
QUIT终止会话

例如:

C: HELO example.com
S: 250 Hello example.com
C: MAIL FROM:<alice@example.com>
S: 250 OK
C: RCPT TO:<bob@example.com>
S: 250 OK
C: DATA
S: 354 Start mail input; end with <CRLF>.<CRLF>
C: Subject: Hello
C: This is a test email.
    C: .
S: 250 OK
C: QUIT
S: 221 Bye

3. 断开连接

POP3

Post Office Protocol version 3

是一个用于接收电子邮件的应用层协议,主要用于从远程邮件服务器下载邮件到本地客户端,通常与 SMTP 搭配使用。

telnet 连接示例

img

root@ip-10-10-106-239:~# telnet 10.10.224.227 110
Trying 10.10.224.227...
Connected to 10.10.224.227.
Escape character is '^]'.
+OK [XCLIENT] Dovecot (Ubuntu) ready.
USER linda
+OK
PASS Pa$$123
+OK Logged in.
STAT
+OK 4 2216
LIST
+OK 4 messages:
1 690
2 589
3 483
4 454
.
RETR 4
+OK 454 octets
Return-path: <user@client.thm>
Envelope-to: linda@server.thm
Delivery-date: Thu, 12 Sep 2024 20:12:42 +0000
Received: from [10.11.81.126] (helo=client.thm)
	by example.thm with smtp (Exim 4.95)
	(envelope-from <user@client.thm>)
	id 1soqAj-0007li-39
	for linda@server.thm;
	Thu, 12 Sep 2024 20:12:42 +0000
From: user@client.thm
To: linda@server.thm
Subject: Your Flag

Hello!
Here's your flag:
THM{TELNET_RETR_EMAIL}
Enjoy your journey!

题目如下

img

POP3 流程

POP3 的设计理念是:邮件从服务器下载后即从服务器删除(除非设置“保留副本”)。流程如下:

img

1. 建立连接

客户端(如 Outlook、Foxmail)连接邮件服务器的 POP3 服务端口。

2. 用户认证

客户端发送用户名和密码进行身份验证。

3. 操作邮箱

认证通过后,客户端可以使用以下 POP3 命令操作邮件:

命令含义
USER发送用户名
PASS发送密码
STAT查询邮件数量和总大小
LIST列出邮件列表及大小
RETR下载邮件内容
DELE删除邮件(默认 POP3 会删除)
QUIT断开连接并删除已标记的邮件

4. 下载与删除

客户端使用 RETR 下载邮件,再用 DELE 标记删除(服务器将在会话结束时真正删除)。

5. 断开连接

客户端使用 QUIT 命令断开连接。

IMAP

IMAP 与 POP3 的核心区别在于:

IMAP 的典型特征:

img

IMAP 使用的是一种基于文本的命令/响应结构。每条命令以一个标识符(tag)开始,比如 A001

命令说明
LOGIN登录账户
LIST查看邮箱文件夹列表
SELECT INBOX选择某个文件夹(如收件箱)
FETCH获取邮件(可以只获取头部)
STORE修改邮件状态(如已读、删除)
SEARCH搜索符合条件的邮件
LOGOUT注销并断开连接

示例:

A001 LOGIN yourusername yourpassword
A002 SELECT INBOX
A003 FETCH 1 BODY[HEADER]
A004 LOGOUT

回答问题

FETCH 4 body[]

img

思考🤔

Protocol 协议Transport Protocol 传输协议Default Port Number 默认端口号
TELNETTCP23
DNSUDP or TCP UDP 或 TCP53
HTTPTCP80
HTTPSTCP443
FTPTCP21
SMTPTCP25
POP3TCP110
IMAPTCP143

浅显地理解

协议使用 TCP 的原因
HTTP数据必须完整、可靠,不能丢
FTP文件传输要求高可靠性
SMTP/POP3/IMAP邮件不能丢失或乱序
DNS(多数用 UDP)查询速度快,偶尔丢失可重发,不要求建立连接

others

telnet命令不可用

sudo apt install telnet

img

参考

https://medium.com/@nikhilbwr34/tryhackme-networking-core-protocols-cyber-security-101-thm-c30318b3d103#id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjA3YjgwYTM2NTQyODUyNWY4YmY3Y2QwODQ2ZDc0YThlZTRlZjM2MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiIyMTYyOTYwMzU4MzQtazFrNnFlMDYwczJ0cDJhMmphbTRsamRjbXMwMHN0dGcuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiIyMTYyOTYwMzU4MzQtazFrNnFlMDYwczJ0cDJhMmphbTRsamRjbXMwMHN0dGcuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDU2NTY0ODQ1NTIwMzMwMTEzNjUiLCJlbWFpbCI6ImJ4MzM2NjFAZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5iZiI6MTc0NjU5Mzc4NSwibmFtZSI6ImJ4IGtpbmciLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSXJnNElmWC1sTmdUcldPTmtFdEM1SDkxSUdkdzhRQXhpXzh0eDlBOUhxLWRwODRDS0o9czk2LWMiLCJnaXZlbl9uYW1lIjoiYngiLCJmYW1pbHlfbmFtZSI6ImtpbmciLCJpYXQiOjE3NDY1OTQwODUsImV4cCI6MTc0NjU5NzY4NSwianRpIjoiMTM1MTg0ZDA2NWEyNGU4ZDlkODc3ZjZkZDZmZTkxMDhiYjI3ZmU1OCJ9.m3R0waCPNoX03tQ0pVBD8aY5P4j36qh44K2fat0ZIE3C34rO6_5wvbhKZB6uuTmX-3p3gGEwLokUDSEAe0AQaijoN87pHQZ1J5Yenfd6DjAyBIJxmlyYdPHbn4dASIlH5-I5iCfXgdV-BjiXe459skjSAXRH9D7Q_3o3o-bGTI_wAWvlIZkCu_OI_yVjaPJl1B-kJcGnTXpd3FEk-7jMQCrP_EDL6Ezll3WPKEPpyUJ_wBpuvUbukMr_jYZSy8fdaJxqBDXkkTZL4XVqglHgiSDwBo354cTiTCVxybr1lJuY6p2Ow6xePr8VZk4h_1zSElUd9nxwPFtIg5jFx_FHgw

编辑这篇文章

评论区

使用 GitHub Discussions 驱动,欢迎留言交流。

上一篇
Java算法练习记录
下一篇
蚁剑流量分析和溯源