View
340
Download
0
Category
Preview:
DESCRIPTION
TCP/IP 协议及应用. 第七章. 主要内容. 协议栈 IP 地址 TCP/IP 协议 IPv6. 1 、 TCP/IP 协议栈. Application. 7. Presentation. 6. Session. 5. Transport. 4. Network. 3. Data link. 2. Physical. 1. 2 、 IP 地址. IPv4. 2.1 IPv4. 2.1 IPv4 逻辑地址分类. 2.1 IPv4 地址范围. 2.1 IPv4- 特殊地址. 网络地址. 2.1 IPv4- 特殊地址. - PowerPoint PPT Presentation
Citation preview
TCP/IP 协议及应用
第七章
主要内容1. 协议栈2. IP 地址3. TCP/IP 协议4. IPv6
1 、 TCP/IP 协议栈ApplicationApplication
PresentationPresentation
SessionSession
TransportTransport
NetworkNetwork
Data linkData link
PhysicalPhysical1
2
3
4
5
6
7
2 、 IP 地址 IPv4
2.1 IPv4
2.1 IPv4 逻辑地址分类
2.1 IPv4 地址范围
2.1 IPv4- 特殊地址网络地址
2.1 IPv4- 特殊地址指定网络广播地址(路由器可转发)
2.1 IPv4- 特殊地址受限广播地址(路由器不转发)
2.1 IPv4- 特殊地址回环地址
2.1 IPv4- 特殊地址公共地址
IETF 分别从 A 、 B 、 C 三类地址中取出一段地址范围保留用作内部网络地址,他们分别是:10.0.0.0 ~ 10.255.255.255172.16.0.0 ~ 172.31.255.255192.168.0.0 ~ 192.168.255.255这些地址范围是专门用来标识内部网络的,不能用来访问 Internet ,因为 Internet 上路由器不会转发目标地址在上述三个范围内的数据包。
公共地址与 Internet 的互连
NAT
专用网
本地主机x1.x2.x3.x4
源地址 a3.b3.c3.d3a1.b1.c1.d1a2.b2.c2.d2
…an.bn.cn.dn
公共 IP 地址库
源地址 x1.x2.x3.x4
源地址 x1.x2.x3.x4
Internet
2.1 IPv4- 特殊地址
2.1 IPv4- 特殊地址物理地址( 48bits )Ipconfig /allRoute Print
特殊地址小结 特殊地址
网络地址,不可以用作主机地址 广播地址,不可以用作主机地址 回环地址 公共地址 内部地址
一个主机发送一个分组时如何发现目的地在那里? 网络掩码
2.2 IPv4 Network Mask
Def. 网络掩码:用于标志网络地址和主机地址的代码。
不同类型的网络( A 、 B 、 C )具有不同的网络掩码
255.0.0.0 255.255.0.0 255.255.255.0 网络地址的获取:逻辑“与”
2.2 Sub-Network Mask 划分网络号和主机边界 对子网进行精确的划分,减小子网络空间
子网掩码就是将 Hostid 的一部分作为网络 Netid 的延伸 掩码地址的格式:前 N 位 1+ 后 M 位 0=32 掩码地址“与” IP 地址 = 对应子网的“实
际网络地址”
路由特点 子网划分对外部的路由器是透明的 对子网内部的路由器是不透明的
2.2 Sub-Network Mask
子网掩码举例
路由器路由器
202.183.56.1xxxxxxx
202.183.56.0xxxxxxx
路由器路由器
202.183.56.xxxxxxxxx
子网掩码举例 学校将 202.183.56.0 ( C类地址)分配给两个系,每个系约有 120 台计算机。
掩码地址可定义为: 255.255.255.128 系 1地址范围: 202.183.56.1—202.183.56.126 子网地址: 11001010 10110111 00111000
0xxxxxxx 系 2地址范围: 202.183.56.129—202.183.56.254
子网地址: 11001010 10110111 00111000 1xxxxxxx
思考题: 已知网络地址 202.112.11.0 今有 A 、 B 、 C 三个机构需要的 ip 地址
分别为 120 、 60 和 62 个,如何划分子网,子网掩码、地址和 ip 地址范围是多少?
3 TCP/IP 协议 网络层协议 : ICMP IGMP ARP RARP 传输层协议 : UDP TCP 应用层协议 : SMTP/POP HTTP DNS FTP
…
不同层次的协议
数据帧的分用过程
3.1 网络层协议 网络层协议格式头格式 ARP/RARP ICMP IGMP
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
Version (4 bits): tells that this is IP Version 4 (IPv4)
IPv4 header structureIPv4 header structure
IPv4 header structureIPv4 header structure
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
Header length (4 bits) is needed since Options + Padding can vary in length.
Options : Security (packet classification), Strict source routing (the whole routing list), Loose source routing (the mandatory routing list), Record route (record the IP address of each hop), Timestamp (record the IP address and timestamp of each hop).
IPv4 header structureIPv4 header structure
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
ToS = Type of Service (8 bits) is used for QoS management purposes.
The first 3 bits of TOS indicate priorities, 0 being low (normal packet) and 7 being high (network control packet); the next 3 bits indicate service types, being delay, throughput, and reliability; the last 2 bits are reserved. Source could use service type bits to indicate the routing metrics to be used.
IPv4 header structureIPv4 header structure
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
Datagram length (16 bits): since this field is 16 bits long, the IP datagram can contain up to 216 = 65535 bytes (in theory).
Most routers, however, cannot handle such large datagrams.
SEU 31
IPv4 header structureIPv4 header structure
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
IP fragmentation: a large IP datagram may be fragmented (in any router along the path) and will be reassembled at the destination.
Flags: 1st bit – reserved; 2nd bit – DF, 0 = fragment yes, 1 = fragment no; 3rd bit – MF, 0 = last fragment, 1 = more fragment.
All fragments contain the same
number
Has value zero in last
fragment
Position of fragment in
original datagram
IPv4 header structureIPv4 header structure
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
Time-to-live (8 bits): this number is decreased by one in each router along the path. If number zero is reached in a router, IP datagram is discarded and router sends an ICMP message (TTL expired) to the source of the datagram.
SEU 33
IPv4 header structureIPv4 header structure
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
Protocol field (8 bits): describes which higher layer protocol is used (TCP, UDP, SCTP ...). The header of this upper protocol is located at the beginning of the IP datagram payload.
e.g. 6 = TCP, 17 = UDP, 1 = ICMP, 89 = OSPF, etc.
Starts here ...
SEU 34
IPv4 header structureIPv4 header structure
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
Header checksum (16 bits): used for error control (if used, routers along the path have to recalculate the checksum).
This kind of error control is not used in IPv6 (since the same error control function is offered by TCP - and even UDP).
SEU 35
IPv4 header structureIPv4 header structure
VersionVersion IHLIHL Type of ServiceType of Service Total length of IP datagramTotal length of IP datagram
IdentificationIdentification FlagsFlags Fragment offsetFragment offset
Time-to-liveTime-to-live ProtocolProtocol Header checksum (for error control)Header checksum (for error control)
Source IP address Source IP address
Destination IP addressDestination IP address
OptionsOptions PaddingPadding
Payload of IP datagramPayload of IP datagram
Source and destination IP address (32 bits each): note that these addresses are not changed in routers along the route.
通过捕获的分组查看 IP 头格式
地址解析协议 (ARP/RARP)
ARP/RARP
ARP 帧格式
ARP 分组格式以太网为 1 IP0800
硬件地址长度
协议地址长度
ARP
example
broadcast
unicast
使用 ARP 协议的四种情况
ARP 缓存 -cache Arp –a –g –s –d 主机内设置缓冲区,是为了快速查找通过主机演示
Arp -a Arp –d Arp –s
C:\Documents and Settings\Administrator>PING 172.18.12.199
Pinging 172.18.12.199 with 32 bytes of data:
Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128
Ping statistics for 172.18.12.199: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Documents and Settings\Administrator>ARP -D
C:\Documents and Settings\Administrator>ARP -ANo ARP Entries Found
C:\Documents and Settings\Administrator>ARP -S 172.18.12.199 00-88-88-88-88-88
C:\Documents and Settings\Administrator>APR -A'APR' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
C:\Documents and Settings\Administrator>ARP -A
Interface: 172.18.12.192 --- 0x10005 Internet Address Physical Address Type 172.18.12.199 00-88-88-88-88-88 static
C:\Documents and Settings\Administrator>PING 172.18.12.199
Pinging 172.18.12.199 with 32 bytes of data:
Request timed out. Request timed out. Request timed out. Request timed out.
Ping statistics for 172.18.12.199: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
C:\Documents and Settings\Administrator>ARP -D
C:\Documents and Settings\Administrator>ARP -A No ARP Entries Found
C:\Documents and Settings\Administrator>PING 172.18.12.199
Pinging 172.18.12.199 with 32 bytes of data:
Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128Reply from 172.18.12.199: bytes=32 time<1ms TTL=128
Ping statistics for 172.18.12.199: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Documents and Settings\Administrator>
通过 sniffer 工具察看保存结果
Arp 欺骗A: ip 地址 192.168.0.1 硬件地址 A
A:AA:AA:AA:AA:AAB: ip 地址 192.168.0.2 硬件地址 B
B:BB:BB:BB:BB:BBC: ip 地址 192.168.0.3 硬件地址 C
C:CC:CC:CC:CC:CC
Arp 欺骗的实施
1. 研究 192.0.0.3 这台主机,发现这台主机的漏洞。根据发现的漏洞使主机 A 当掉,暂时停止工作。
2. 这段时间里,入侵者把自己的 ip 改成 192.0.0.3 3. 发一个源 ip 地址为 192.168.0.3,源MAC 地址为 B
B:BB:BB:BB:BB:BB 的包给主机 C ,要求主机 C更新自己的 arp 转换表。
4. 主机更新了 arp表中关于主机 A 的 ip-->mac 对应关系。防火墙失效了,入侵的 ip变成合法的 mac地址,可以 telnet 了。
ARP 欺骗的防范 不要把网络安全信任关系建立在 ip
地址的基础上或硬件 mac 地址基础上,理想的关系应该建立在 ip+mac基础上。
设置静态的 mac-->ip 对应表,不要让主机刷新设定好的转换表。
ARP Proxy
RARP
RARP
RARP
思考题: 1 、如何利用 ARP 协议实现一个 LAN 内
的 IP 地址使用情况监控? 2 、 ARP攻击的基本原理 ?
3.1.2 ICMP
用于网络设备和结点之间的控制和差错报文的传输(主机之间,而不是应用之间) Error message— 一些网络错误信息 Ping—测试工具 Traceroute—路由跟踪windows tracert
封装于 IP 数据包内部
ICMP
ICMP报文分类覆盖整个 ICMP报文
共有 15 种类型
ICMP报文分类
ICMP报文分类
ICMP 差错报文
ICMP 差错报文封装形式
ICMP 差错报文包含原 ip 数据报的头部和前 8 个数据字节,目的是使接受该 ICMP 报文的主机识别上层协议与应用进程
ICMP 差错报文 目的不可达
网 1 网 2 网 3 网 4
主机 A 主机 B R1 R2 R3
ICMP报文返回
ICMP 差错报文 重定向-分组中含有路由信息,路由优化
A 要发送分组到 B ,通过默认路由到 R1 , R1转发时发现下一跳是 R2 ,并且 A 、 R1 、 R2直接互联。
ICMP 差错报文重定向
重定向报文只能由路由器产生重定向报文是用于主机而不是路由器
的
ICMP 查询报文
ICMP 查询报文 时间戳请求报文 ID 和 SN 由发
送端任意确定
ICMP 查询报文请求回显- ping
TRACEROUTE ( LINUX) TRACERT (WINDOWS )的基本原理是什么(思考题)
通过 sniffer展示
3.1.3 IGMP
Multicast Internet Group Management
Protocol RFC1112
IGMP 报文格式
Ip 首 部 IGMP报文
版本(4bit)
类型(4bit) 未用 检验和
32bit组地址(D类IP地址)
0 34 78 1516
IGMP 报文格式
报文类型 类型 1 :多播路由器查询报文,组地址为 0 类型 2 :主机组播报告报文,组地址为该主
机加入的组播组。
多播地址 通用多播地址: 224.0.0.0
永久多播组224.0.0.1 子网内所有系统组224.0.0.2 子网内所有路由器224.0.1.1 NTP 网络时间协议组……….
1 1 1 0 多播组ID
多播地址转换 多播组地址到以太网物理地址转换 以太网物理多播地址: 01.00.5e.00.00.00~0
1.00.5e.7f.ff.ff 转换
1 1 1 0 多播组ID
0 313 4
0 4701 00 5e
23024
23
8
5 位没有进行映射
每个物理多播地址对应 32个组播地址
以太网多播标志
应用层组播 应用层组播,就是在应用层实现组播功
能而不需要网络层的支持。 这样就可以避免出现由于网络层迟迟不
能部署对组播的支持而使组播应用难以进行的情况。
3.2 传输层协议 传输层的位置和特点 TCP UDP
3.2 传输层协议
3.2.1 TCP 协议概述
TCP 协议概述 面向连接
连接定义:四元组(客户 I P 地址、客户端口号、服务器 I P 地
址和服务器端口号); 应用程序利用 TCP 协议进行数据传输之前,首先建立基于 TCP 的四元组连接;
进行数据传输之前进行“握手”,双工通信。
Tcp 协议概述 可靠传输服务
TCP 协议利用网络层的 IP 协议进行数据传输,而 IP 协议是一种不可靠协议。(丢包,失序),如何获得可靠性?
数据分割使之适于网络传输 定时重传机制 校验和 重复丢弃和失序纠正 流量控制
Tcp 协议概述 面向字节流的传送服务
TCP 协议将应用程序需要传输的数据理解为按顺序排列的二进制位,并按八位字节为基本单位,形成有序的八位字节流。发送方将数据以字节流的顺序递交给下层的 TCP协议进行传输, TCP 协议在组织传输时并不关心数据的结构,接收方的 TCP 协议将数据以相同的字节流顺序交给接收方的程序。
TCP Connect and discon
TCP Connect and disconConnect :( socket) 1) 请求端(通常称为客户)发送一个 syn 段
指明客户打算连接的服务器的端口,以及初始序号;
2) 服务器发回包含服务器的初始序号的 syn报文段作为应答。同时,将确认序号设置为客户的 ISN+1;
3) 客户将确认序号设置为服务器的 ISN+1 。
TCP Connect and discon关闭连接
TCP Connect and discon关闭连接1 、建立一个连接需要三次握手,而终止一个连接要经过 4 次握手;
2 、 T C P 连接是全双工(即数据在两个方向上能同时传递),因此每个方向必须单独地进行关闭;
3 、收到一个 F I N只意味着在这一方向上没有数据流动,一个 T C P 连接在收到一个 F I N后仍能发送数据。
TCP Connect and discon
半关闭
TCP Connect and disconTCP 状态图
TCP超时与重传 通信端收到对方分组后发送确认信息 ACK
发送端等待 ACK 发送后启动定时器,超时重传
How to Get RTT
TCP最大Max-Send-Segment MSS=Min ( MTU , SMSS , RMSS )
通过 Sniffer展示
3.2.2 UDP
TCP/UDP 协议对比 首先, TCP 是一种面向连接的协议,而 UDP
是无连接的协议。这其中的区别在于:第一,TCP 协议是以连接作为协议数据的最终目标的。UDP 协议则是以目标端口作为协议数据的最终目标。因此, TCP 的协议端口是可以复用的,UDP 协议的端口在同一时间则只能为一个应用程序所用。第二,一个连接是由两个端点构成的,并为该连接分配一定的资源(缓冲区)。UDP 协议则不需要这个过程,可以直接发送和接收数据。
TCP/UDP 协议对比 其次, TCP提供的是可靠的传输服务,而 UD
P 协议提供的是不可靠的服务。使用不可靠的服务进行数据传输时,数据可能会丢失,失序,重复等。而可靠的服务能保证发送方发送的数据能原样到达接收方。
最后, TCP提供的是面向字节流的服务。应用程序只需将要传输的数据以字节流的形式提交给 TCP 协议,在连接的另一端,数据以同样的字节流顺序出现在接收程序中。而 UDP 协议的传输单位是数据块,一个数据块只能封装在一个 UDP 数据包中。
TCP/UDP 应用对比 可靠应用需要 TCP 协议 TCP 协议的连接建立需要一定时间,不适于实时性要求的应用
而用 UDP 协议具有一定丢失不敏感的应用使用 UDP 协议
思考题: UDP 协议是不可靠协议,通常在时实性较强的应用中使用,为什么?若发送的重要命令或数据丢失如何解决?
3.3 应用层协议 电子邮件原理与协议 http DNS FTP
3.3.1 Mail
3.3.1 Mail Protocol
SMTP : Postel J B.Simple Mail Transfer Protocol. RFC821[EB/OL].http://www.ietf.org/ rfc/ rfc0821.txt
POP : Myers J. Post Office Protocol - Version 3.RFC1939[EB/OL].http://www.ietf.org/rfc/rfcl939.txt
3.3.1 Mail Theory
Foxmail Outlook
SENDMAIL
QMAIL
SMTP
POP
3.3.1 Mail Format rfc822
Rfc 822定义电子邮件文本 ( textual) 信息交换标准格式、详细的信息头格式和单一信息体 (BODY) 格式 , 它针对的是基于 A SC II 字符集的纯文本格式 , 它的不足之处主要表现在 :1 、对于图形图像、语音、结构化文本等多媒体信息并没有提供相应的表示机制 .
2 、与基于 X. 400 的主机之间无法进行完整的信息交换 .
3 、不支持同一邮件信息内的多个信息体格式 .
3.3.1 Mail Format-MIME
RFC1341 (RFC2231 、 RFC2646 等 ) MIME ( Multipurpose Internet Mail Extensions )在几个方面进行了扩展 . 它主要包含如下功能 :
1 、 M IM E 版本的头域 (F ield) , 用以指明该邮件信息头符合本协议 .
2 、内容类型头域 , 用于指明信息体的类型及子类型 .3 、内容传输编码头 , 用来指明信息编码 , 主要分为五种编码 :8bit 、 7bit 、 binary 、 quoted printable 和 base64
3.3.1 MIME-多用途邮件格式
3.3.1 MIME- base64 编码 目的
将其它格式的文档转换为 7位的数据流; 用于对图像、声音和执行文件等。
方法 将文件看作二进制流,每 6位形成一组,作
为索引号码选择对应的可传输字符; 对应的 64 个字符为 (A-Z,a-z,0-9,+,-) ,其对
应的编号为 0-63 。
3.3.1 MIME- base64 编码
3.3.1 MIME- Quoted-printable 目的
将非 ASCII表示转换为 ASCII表示 方法
将非 ASCII表示的数值用两个十六进制数表示,如 89H表示为 ASCII 的编码 38H 和 39H两个十六进制数,然后前面加上“ =” 的ASCII编码。
3.3.1 MIME- Quoted-printable
3.3.1 Mail Format
邮件地址
3.3.1 Mail Format传统信件与 email
3.3.1 SMTP
Connect 25
Connection establishment
Message transfer
Connection termination
3.3.1 Pop-post office protocol
pop3
3.3.1 垃圾邮件( SPAM )《中国互联网协会反垃圾邮件规范》对垃圾邮件作了如下界定:
收件人事先没有提出要求或者同意接收的广告、电子刊物、各种形式的宣传品等宣传性的电子邮件;
收件人无法拒收的电子邮件; 隐藏发件人身份、地址、标题等信息的电子邮件;
含有虚假的信息源、发件人、路由等信息的电子邮件。
( SPAM )的产生著名的垃圾邮件事件是在 1994年 4月份,Canter 和 Siegel 的法律事务所把一封标题为“ Green Card Spam” 的移民顾问服务广告邮件发到 6000 多个新闻组,形成典型的垃圾邮件,并引起接收者的公愤,以至于人们以该邮件标题的最后一个单词“ Spam” 作为垃圾邮件的称呼。
( SPAM )的危害 CNNIC 于 2005年 7月发布《第十六次中国互联网络发展状况统计报告》显示,中国网民平均每周收到 14.5封电子邮件,其中垃圾邮件占了 9.3封,垃圾邮件数量长期以来超过正常邮件数量
( SPAM )的危害
中网民每周收到和发出的电子邮件
( SPAM )的处理 基于客户端和服务器端 Black Menu White Menu 基于规则( rule )的邮件过滤 基于概率统计的过滤方法
( SPAM )的处理(统计过滤)
邮件判定模块
类别关键词提取模块 自学习模块
邮件预处理模块
邮件内容解析子模块
中文分词子模块
无用词过滤子模块
邮件类别生成模块
相似度计算子模块
邮件类别生成合并子模块
( SPAM )的处理
( SPAM )的处理 基于网络行为(规则)
3.3.2 HTTP/WWW
HTTP- Hypertext Transfer Protocol无状态协议 WWW的核心协议 应用层 1990- Rfc2616- http1.1
HTTP
Paradigm
HTTP
Message types
HTTP
Request Message
HTTP
Request Line
HTTP
Method
GET
HEAD
POST
PUT
DELETE
HTTP
GETGET后跟随一个网页的位置,服务
器接受请求并返回其请求的页 面。除了页面位置作参数之外,请求还可以跟随协议的版本如 HTTP/1.0等作为参数,以发送给服务器更多的信息 。
HTTP
POSTPOST请求要求服务器接收大量的信息,除了 POST后面跟随的参数之外,浏览器还会在后面持续发送数据,让服务器进行处理。通常, POST方法是和 CGI 程序分不开的,服务器应该启动一个CGI 程序来处理 POST 发送来的数据。
HTTP
HEADHEAD请求在客户程序和服务器之间进行交流,而不会返回具体的文档。当使用 GET 和 POST方法时,服务器最后都将结果文档返回给客户程序,浏览器将刷新显示。而 HEAD请求则不同,它仅仅交流一些内部数据,这些数据不会影响浏览的过程。因此 HEAD方法通常不 单独使用,而是和其他的请求方法一起起到辅助作用。
HTTPURL
HTTPResponse message
HTTP
Status line
HTTP
STATUS CODE
HTTP
示例GET
HTTP
HEAD
HTTP
POST
Web 标准 (http://www.w3c.org) Web1.0
1989年,在 CERN任职的英国人 TimBerners.Lee 发明了WorldWideWeb ,通过WEB ,互联网上的资源可以在一个网页里比较直观的表示出来;而且资源之间,在网页上可以相互链接。
1994年,斯坦福大学两位博士生杨致远和 David Filo 共同创办了雅虎,为用户提供导航服务,并提出了互联网黄页概念。 1997年, Google创始人 Larry Page 和 Sergey Brin 在斯坦福大学开发出一套用于网页评级的系统,随后推出了大受欢迎的搜索服务。
Web 标准 web2.0 2004年 O’Reilly Media Inc.副总裁 Dale Dougherty 在公司的一次筹备会上偶然提出了Web2.0 一词,全球第一次Web2.0大会于 2004年 10月在美国旧金山召开。从此,Web2.0 这一概念以不可思议的速度在全球传播开来。 Web2.0核心是以人为中心。为用户提供更方便工具,鼓励提供内容。根据用户在互联网上留下的痕迹,组织浏览线索,提供相关的服务,给用户创造新的价值。Web2.0 是相对Web1.0 的新一类互联网应用的统称。Web2.0技术主要包括:博客( BLOG )、RSS 、百科全书(Wiki )、网摘、社会网络( SNS )、 P2P 、即时信息( IM )等。
WWW-world wide web 目标
支持构建分布式的协作超媒体信息系统,将整个因特网的信息资源组合在一起,信息以页面的形式提供给客户。
页面及其关系以链接的方式形成—超文本 ;混合了音频 / 视频的内容,需要多种播放媒体的支持—超媒体。
客户机 服务器因特网浏览
表示
WWW-world wide web
Hypertext
Brower structure
Web 类型 Web技术发展的第一阶段——静态文档
主要以静态文档形式提供信息 Web技术发展的第二阶段——动态页面
以数据库为后台数据支撑,提供动态交互 Web技术发展的第三阶段——实时可伸缩的事务处理 电子商务需求,实时、可扩展和安全需求
html xml xhtml HTML 三个主要缺点 :
1 、不能适应现在越多的网络设备和应用的需要, 比如手机、 PDA 、信息家电都不能直接显示 HTML;2 、由于 HTML 代码不规范、臃肿,浏览器需要足够智能和庞大才能够正确显示 HTML;3 、数据与表现混杂, 你的页面要改变显示,就必须重新制作 HTML 。
XMLXML 是一种简单、与平台无关并被广泛采用的标准。XML 标记用于定义数据本身的结构和数据类型, XML 相对于 HTML 的优点是它将用户界面与结构化数据分隔开来。
html xml xhtml
XML 是 web 发展的趋势, XHTML 是一个基于 XML 的置标语言, XHTML就是一个扮演着类似 HTML 的角色的 XML ,所以,本质上说, XHTML 是一个过渡技术,结合了 XML( 有几分 ) 的强大功能及 HTML(大多 数 ) 的简单特性。 XHTML 是当前替代 HTML4 标记语言的标准,使用 XHTML 1.0 。
Web phishing
Web phishing
APWG SPONSORS :
APWG Global Research Partners:
典型攻击手段( S1:Email 发送)
S2 :访问假网页Visible link: https://www.paypal.com/us/cgi-bin/webscr? cmd=_login-runActual link to: http://218.246.224.203/icons/.cgi-bin/paypal/cgi-bin/webscrcmd_login.phpPhish site IP:218.246.224.203
Web phishing handling Html
image
Web phishing handling
邮件服务器垃圾邮件过滤模块邮件服务器垃圾邮件
过滤模块
E-mai
邮件服务器垃圾邮件过滤模块
垃圾邮件特征库
垃圾邮件收集及判断模块
垃圾邮件特征抽取模块
黑名单
垃圾邮件分析引擎
E-mai E-mai
spam
spam
spam
垃圾邮件制造者
Internet
spam
垃圾邮件库
Web phishing handling
3.3.3 DNS
主机名
域名
域名服务器地址
域名系统配置
DNS 域名系统( D N S )是一种用于 T C P / I P 应用程序
的分布式数据库,它提供主机名字和 I P 地址之间的转换及有关电子邮件的选路信息。
每个站点(如大学中的系、校园、公司或公司中的部门)保留它自己的信息数据库,并运行一个服务器程序供 I n t e r n e t 上的其他系统(客户程序)查询。 D N S提供了允许服务器和客户程序相互通信的协议。
从应用的角度上看,对 D N S 的访问是通过一个地址解析器( r e s o l v e r )来完成的。在 U n i x 主机中,该解析器主要是通过两个库函数 g e t h o s t b y n a m e()和 g e t h o s t b y a d d r ()来访问。
DNS RFC 1034 [Mockapetris 1987a] 说明了 D N S 的概念
和功能, RFC 1035 [Mockapetris 1987b] 详细说明了DNS 的规范和实现。 D N S最常用的版本(包括解析器和名字服务器)是 B I N D—伯克利 I n t e r n e t域名服务器。
DNS 层次组织
DNS 层次组织
DNS 逻辑层次
顶级域名
三个部分:
1) a r p a 是一个用作地址到名字转换的特殊域
2) 7 个 3字符长的普通域
3) 所有 2字符长的域均是基于 I S O 3 1 6 6 中定义的国家代码,这些域被称为国家域,或地理域。
主、辅域名服务器 一个名字服务器负责一个或多个区域。一个区域的管理者必须为该区域提供一个主名字服务器和至少一个辅助名字服务器。主、辅名字服务器必须是独立和冗余的,以便当某个名字服务器发生故障时不会影响该区域的名字服务。
主、辅名字服务器的主要区别在于主名字服务器从磁盘文件中调入该区域的所有信息,而辅名字服务器则从主服务器调入所有信息。我们将辅名字服务器从主服务器调入信息称为区域传送。
DNS 分组格式
DNS 分组格式 这个报文由 1 2字节长的首部和 4 个长度可变
的字段组成。 标识字段由客户程序设置并由服务器返回结果。客户程序通过它来确定响应与查询是否匹配。
标志字段
0-query1-
response
0-std query ( ip )
1-inverse query2-server query
Authoritative
answer
1-recursive0-iterative
query states
DNS types
Format of Query & Answer
What protocol-udp/tcp
Client(resolver)
Client(resolver)
Mainserver
additionalserver
Udp/tcp
Udp/tcptcp
Port:53
Name length
Domain name Name=label.label…label. Length of label <=63 octet Length of name <=255 octet
DNS domain name structure
DNS Query Process Iterative
in which the server refers the client to another server and lets the client pursue the query.
Recursivein which the first server pursues the query for the client at another server.
Both approaches have advantages and disadvantages, but the iterative approach is preferred for the datagram style of access. The domain
system requires implementation of the iterative approach, but allows the recursive approach as an option.
Instance of iterative query
迭代方式
Instance of recursive query
root
com govcnedu ...
com ptteduibm MIT
seu tsinghuapku
... ...
www email ftp
User
用户主机: user.mit.edu应用程序调用 Gethostbyname( )-- resolver主机调用 MIT 域名服务器(请求解析 www.seu.edu.cn )
User
MIT DNS
edu DNS
root
cn DNS
Edu.cn DNS
Seu.edu.cn DNS
MIT DNS
edu DNS
root
cn DNS
edu.cn DNS
seu.edu.cn DNS
User
递归方式
3.3.4 Ftp 协议 标准( rfc0959 )
FTP提供的文件传送是将一个完整的文件从一个系统复制到另一个系统中。要使用FTP ,就需要有登录服务器的注册帐号,或者通过允许匿名 F T P 的服务器来使用。
FTP 协议为应用层协议,传输层协议为 TCP协议
Ftp 协议 user-FTP process
A set of functions including a protocol interpreter, a data transfer process and a user interface which together perform the function of file transfer in cooperation with one or more server-FTP processes. The user interface allows a local language to be used in the command-reply dialogue with the user server-FTP process
A process or set of processes which perform the function of file transfer in cooperation with a user-FTP process and, possibly, another server. The functions consist of a protocol interpreter (PI) and a data transfer process (DTP)
Ftp 协议 PI : The protocol interpreter. server-DTP : The data transfer process, in i
ts normal "active" state, establishes the data connection with the "listening" data port.
user-DTP: The data transfer process "listens" on the data port for a connection from a server-FTP process.
Ftp 协议
FTP model
Ftp 协议 Two connections
control connectionThe communication path between the USER-PI and SERVER-PI for the exchange of commands and replies. This connection follows the Telnet Protocol.
data connectionA full duplex connection over which data is transferred, in a specified mode and type. The data transferred may be a part o a file, an entire file or a number of files. The path may be between a server-DTP and a user-DTP, or between two server-DTPs.
Normally , the client active the control connection ,the server active the data connection
Ftp 协议 PORT ADDRESS
Both the user and the server DTPs have a default data port. The user-process default data port is the same as the control connection port ,The server-process default data port is the port adjacent to the control connection port (i.e., 21-1=20).the user can set new data port.
Ftp 协议
4x256+150=1174
ftp 传输模式 流方式(默认选择):文件以字节流的形式传
输。对于文件结构,发方在文件尾提示关闭数据连接。对于记录结构,有专用的两字节序列码标志记录结束和文件结束。
块方式:文件以一系列块来传输,每块前面都带有一个或多个首部字节。
压缩方式:一个简单的全长编码压缩方法,压缩连续出现的相同字节。
ftp 传输类型 ASCII 码文件类型(默认选择):文本文件以
NVT ASCII 码形式在数据连接中传输。这要求发方将本地文本文件转换成 NVT ASCII 码形式,而收方则将 NVT ASCII 码再还原成本地文本文件。其中,用 NVT ASCII 码传输的每行都带有一个回车,而后是一个换行。
图像文件类型(也称为二进制文件类型): 数据发送呈现为一个连续的比特流。通常用于传输二进制文件。
ftp客户常用命令( 3-4byte )
现有 ftp 工具一般支持断点续传功能,其实现原理是什么?
restart marker :从指定的标志 marker处,重新开始 get或 put ,如: restart 130 。 表示从最开始下载。你可以使用 CuteFTP等软件进行断点续传,然后注意观察一下它们的 Log窗口,这是学习 FTP编程的最好办法。
Netants 是采用这样的办法:对于 FTP 文件先使用 SIZE 命令得到服务器文件的大小,然后根据蚂蚁数计算每段从哪里开始取(就是做除法)。它根据下载情况把每只蚂蚁现在的当前位置保存在一个 .job 文件中,这样今后就可以知道该从哪里下载了。
4 IPV6
IPV6
IPV6
地球总面积 510000000平方千米 地球陆地面积 149000000平方千米,占地球表面积的 29.2% 地球海洋面积 361000000平方千米,占地球表面积的 71.8%
计算地球每平方米占有的 ipv6 地址数?
IPV6
IPV6
双栈
支持双栈的操作系统 Windows xp ipv6 install Linux
IPV6Tunnel
How to realize?
Ipv4(1)-v6(1)Ipv4(2)-v6(2)Ipv4(3)-v6(3)Ipv4(4)-v6(4)
……Ipv4(n)-v6(n)
Ipv4(1)-v6(1)Ipv4(2)-v6(2)Ipv4(3)-v6(3)Ipv4(4)-v6(4)
……Ipv4(n)-v6(n)
IPV6地址转换
Add & Protocoltransformation
北京
郑州
西安
武汉 合肥 上海
杭州
广州
成都
沈阳
天津
重庆
济南
厦门
大连
长春 哈尔滨
长沙
南京
兰州
10G
2. 5G
用户接入网 用户接入网 用户接入网
用户接入网 用户接入网
用户接入网
用户接入网
用户接入网用户接入网用户接入网
用户接入网
用户接入网
用户接入网
用户接入网
用户接入网用户接入网
用户接入网 用户接入网 用户接入网
CERNET2网络结构图
用户接入网
END of TCP/IP
Recommended