Chinaunix首页 | 论坛 | 博客
  • 博客访问: 972029
  • 博文数量: 58
  • 博客积分: 10192
  • 博客等级: 上将
  • 技术积分: 1845
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-22 21:24
文章分类

全部博文(58)

文章存档

2011年(11)

2010年(12)

2009年(20)

2008年(15)

分类:

2008-10-14 15:09:04

  • 例子:(其中的文字是解释)
    Received: from www2.126.com (unknown [202.108.36.181])
    by mx1.163.net (Postfix) with ESMTP id 68DBD1D04ED21
    for ; Wed, 10 Oct 2001 01:06:45 +0800 (CST)
    最后一次转发,从www2.126.com发出,被mx1.163.net接收,目标地址:yin_jie@163.net,注意此处是支持ESMTP的,也就是增强SMTP。即我们所说的发信验证。
    Received: by www2.126.com (Postfix)
    id ; Tue,  9 Oct 2001 23:44:47 +0800 (CST)
    中转标志~~
    Received: from china.com (unknown [61.135.144.7])
    by www2.126.com (Postfix) with SMTP id 2F4B21CE6027B
    for ; Tue,  9 Oct 2001 23:44:47 +0800 (CST)
    倒数第二次转发,由china.com发到www2.126.com.此时的目标地址是yin_jie@126.com
    Received: from china.com([10.1.0.214]) by china.com(AIMC 2.9.5.3)
    with SMTP id jma3bc35969; Tue, 09 Oct 2001 23:35:47 +0800
    邮件的最初中继,这里是SMTP,在域名后的字符,如:(AIMC 2.9.5.3)是服务器上所使用的邮件系统名称。而id是邮件的编号。后面的部分是时间,最后的+0800是时区。
    Content-Type: multipart/mixed;
      boundary="---------=_VxiQcghCADTbNqgPmLRpqAGvcowuwOnorRmShm";
    以上表示邮件的内容类型是多种的。
      charset="gb2312"
    这一段是邮件的字符集,该处为GB2312。
    Date: Tue, 9 Oct 2001 23:36:38 +0800 (CST)
    这是发信的时间
    From: "巍"
    To: yin_jie@126.com
    以上是发信人和收信人的地址,大家可以看出,此处的收信人地址和实际接收的地址不一样,这就是邮件转发。
    Subject: =?gb2312?b?Rnc6ILXNuPHI7bz+tc248dOyxcy1xLCho6E=?=
    这是主题,由于是GB2312的汉字,所以看不到。
    MIME-Version: 1.0
    这是邮件使用的MIME版本。
    小知识:MIME
    MIME 是一种技术规范,它原来是用于电子邮件的,现在也可以用于浏览器上,传送可以供浏览器识别的信息,关于MIME的知识并是十分难懂的,有一些基本的计算机 概念就可以理解了,但如果要进一步使用,就必须注意内容。实际上,我们在上网的时候就已经接触到了MIME,只是浏览器和服务器在底层实现了。

    MIME 有时候被错误地理解为多媒体Internet邮件扩展(Multimedia Internet Mail Extensions),这是一个错误,但是MIME在网上经常用于多媒体应用程序,所以人们以为这是它是多媒体邮件扩展,而实际上它应该被称为多用途 Internet邮件扩展(Multipurpose Internet Mail Extensions),这一点一定要注意,因为有时候内容里根本没有非文本成份。

    MIME对于邮件系统的扩展是巨大的,因为在 MIME出现以前,信件内容如果要包括声音和动画,就必须把它变为ASCII码或把二进制的信息变成可以传送的编码标准,而接收方必须经过解码才可以获得 声音和图画信息。MIME提供了一种可以在邮件中附加多种不同编码文件的方法。这与原来的邮件是大大不同的。而现在MIME已经成为了HTTP协议标准的 一个部分。

    MIME是服务器通知客户机传送文件是什么类型的主要方法,客户机浏览器也通过MIME告诉服务器它的参数。在网上,如果 接收到的文件没有MIME头,就默认它为HTML格式。但这样也不好,因为当MIME的包头是text/plain时,浏览器将直接显示而不关心它的什么 字体,颜色之类的参数,这样显示出来的内容可不是很好看呀。

    MIME头是什么样子要看它是用在电子邮件中还是用在浏览器上,两者内容可能有所不同。对于邮件头来说,版本号,内容类型声明,编码方式,内容描述是必不可少的。这是用于邮件头中的格式,在下面,我们将重点说到在HTTP中传送MIME头,这时MIME头要简单一些。

    下例是一个邮件的标准MIME头:

    Mime-Version: 1.0 //版本号:1.0

    Content-Type: multipart/mixed; boundary="IMA.Boundary.750407228" //内容类型是多种的

    --IMA.Boundary.750407228

    Content-Type: text/plain; charset=US-ASCII //内容类型:文本,字符是ASCII的

    Content-Transfer-Encoding: 7bit //编码方式:7位

    Content-Description: cc:Mail note part

    在 用于浏览器时,用户不需要知道那么多的信息,所以MIME头就比较简单了。在访问一个网页时,浏览器和服务器之间产生一个会话,作为请求内容的一部分,浏 览器发送它能够理解的MIME类型的描述,这就告诉服务器,浏览器除了网页外还可以支持什么,服务器对这个信息一般不作为什么修改。

    服务器通过发向客户机的MIME头通知客户浏览器内容是什么,我们看看下面这个头:

    Content-type: text/html

    在实现的时候,一定要注意MIME头后要跟一个空行,不然这个头会被浏览器忽略,这个头会被当作文本显示出来。当服务器传送GIF图象时,头会如下:

     

    Content-type: image/gif

    Content-transfer-encoding: BINARY

     

    通 常的MIME内容类型并不起什么作用,浏览器可以自己识别内容的类型,但是如果您使用一些另外的类型,这个问题可就大了,如果你使用了 text/postscript,那浏览器会显示下载窗口,或就把这个东西显示出来,那可就不好办了。下面我们介绍一下标准MIME类型。

    Text. 文本,它用于描述不同类型的文本,包括通常的文本,PostScript和HTML,虽然HTML不是一个可能的子类型。

    Multipart. 多类型,指出此信息包括多种信息,不止一种类型。

    Message. 用于标记不同类型的消息。

    Application. 应用类型。

    Image. 图象,用于标明图形文件。

    Audio. 声音,用于标明声音文件。

    Video. 影象,用于标明动画文件。

    每 个MIME类型有不同的子类型,实际上,您不可能单独使用类型而不使用子类型,只有一个例外,这就是"telnet"类型。IANA提供45种类型/子类 型对支持。当然,标准是开放的,允许用户自定义自己的类型,用户自定义类型要以“X-”开始以示区别。在添加新的类型时,一定要注意,尽量使用已有的类型 达到自己的目的。如果非要添加新的类型,一定要保证服务器一方支持这种类型,也要保证客户端也能够通过一些应用程序(如插件)来识别新类型。如果您的网站 的访问者很广,不要轻易使用新类型,要么使用已有的类型,或者向IANA提出注册请求。
    ---------------------
    Message-ID:
    邮件编号
    X-AIMailer: AIMC 2.9.5.3 2001.06.25
    发信服务器的邮件软件版本
    X-AIMime: MIME/SMIME Lib 2.9 2.9 2001.06.25
    Content-Transfer-Encoding: base64
    编码格式,此处为BASE64。
    Cc: 抄送
    X-Priority: 3邮件优先等级

    以下是邮件的内容,以上是邮件头
    -----------=_VxiQcghCADTbNqgPmLRpqAGvcowuwOnorRmShm
    Content-Type: text/plain 内容是文本
    Content-Transfer-Encoding: 8bit 编码格式



    >  这个软件要好好的看看在用啊小心小心啊!!!
    > ************************************
    > 留学移民,免费评估.
    >
    >
    > 定制中华网短信息(),天气、新闻、股市行情手触可得。
    >


    以上是邮件的文本内容

    -----------=_VxiQcghCADTbNqgPmLRpqAGvcowuwOnorRmShm
    Content-Type: application/octet-stream; 内容是应用,即附件
      name="Qaplu504.zip"  附件应用名
    Content-Transfer-Encoding: base64 编码格式
    Content-Disposition: attachment; 内容描述:附件
      20031024132827.htm="Qaplu504.zip"

    UEsDBBQAAAAIAEZaRBgAYp1h0EYAAE1KAAAVAAAAUUFQTFU1MDQvQ09NREVCVUcuRVhFnbd3XBPb
    1y4+KYQ0klCkiRAsFFEPWBCkg1IsgIDYUbCCCAgJiiKgIBCCiJ5zLByPgno8iIogqBSlC4KN0KQp
    hGbCUJLQNmGSuTnn+95738/nvr9/fjvzrPXsZ9ZaM3sys2f2jn07ICMIgrAQiYiiHpQEBadBUXg9
    hd++z9oCRXdxx0p8oKwILB+XaJ+PQfkQm0UT5FKz/FeLMgjovKe20UMIolSx1SbTBDFWKxthDm3U
    ......
    以上还有很多,就是附件ZIP文件的BASE64编码。

    *安全
    由 于MIME定义了多种不同的内容类型,因此在邮件客户端可以识别这些标准的内容说明,从而调用不同的程序插件来进行处理,如为应用,则提示下载,如为图 象,则自动打开(如OE),但由于BASE64编码的内容看起来是一样的,所以我们就可以把一个自己编写的执行程序或木马通过BASE64编码后,附加在 邮件后,并强制定义其为图形或声音等能被自动处理的内容说明,这样,在邮件被打开时,这些编码就会被自动的处理,也就是相当于运行了这些编码解码后的程 序。这就是MIME缺陷漏洞,在MS的网站已经就此问题做出了补救方法,请大家注意,或使用非MS的产品来接收邮件,如FOXMAIL。

    有关BASE64编码,下节再说。
阅读(1988) | 评论(0) | 转发(0) |
0

上一篇:描述编译和链接过程

下一篇:tcp重组文章

给主人留下些什么吧!~~