有时我们需要知道收到的邮件是从哪台服务器发送过来的,或者想知道该邮件的报文头是怎样的。以下以网易邮箱为例介绍如果抓取这些信息。

首先我们需要知道网易邮箱的访问服务器(拉协议),由于SMTP是推的协议,所以用SMTP是不行的;一般拉的协议用POP3、IMAP和HTTP。

这里我们用POP3来试一下。

首先用telnet连接pop3.163.com端口为110

 ~ telnet pop3..com
Trying 220.181.12.110...
Connected to pop3..idns.yeah.net.
Escape character is '^]'.
+OK Welcome to coremail Mail Pop3 Server (163coms[b62aaa251425b4be4eaec4ab4744cf47s])

这表明连接成功,接下来输入用户名和密码, user 后面接用户名,pass后面接密码,提示OK则表明登录成功

user xxx@.com
+OK core mail
pass 123456
+OK message(s) [ byte(s)]

接下来,可以使用list命令,列出收件邮的邮件列表

list
+OK ...

说明一共有916封邮件,后面的应该是字节数;可以使用retr命令查看某封邮件的具体信息 retr +序号

retr
+OK octets
Received: from out23-.mail.alibaba.com (unknown [115.124.23.81])
by edm6 (Coremail) with SMTP id i8CowEBp83NsU4Nb7+_sBg--.7786S2;
Mon, Aug :: + (CST)
DKIM-Signature:v=; a=rsa-sha256; c=relaxed/relaxed;
d=newsletter.aliyun.com; s=s1024;
t=; h=Date:From:To:Message-ID:Subject:MIME-Version:Content-Type;
bh=IQju8gXaY8JZjRaGEbvXvhdHJHsWfAKAUR5MIBvJXqU=;
b=m+jMdtCSilltqd4VXMrDW+zP86NE6VV0mfcVEmgDqCx1Y42ls0CZRkMQQxuTZQiu6Ky7ObFbo5bMptLjXglQ3816LTG8t3yYh3D8Hkb6zx1e0RrMErQLOlEJGdZWGY5ZJgJmqEC0kIVap3acicz/EGU1JmZ2QdT6W7SW65UqgFk=
X-EnvId:
Received: from msc-channel180021171.sh(100.68.113.110)
by smtp.aliyun-inc.com(127.0.0.1);
Mon, Aug :: +
Date: Mon, Aug :: + (CST)
From: =?UTF-?B?6Zi/6YeM5LqR?= <system@notice.aliyun.com>
...

可以看到发件人的ip地址和服务器地址都显示出来了,以上。

此文原创,转载请注明出处,谢谢!

查看收到的邮件的来源ip以及包信息的更多相关文章

  1. [日志分析]Graylog2进阶之获取Nginx来源IP的地理位置信息

    如果你们觉得graylog只是负责日志收集的一个管理工具,那就too young too naive .日志收集只是graylog的最最基础的用法,graylog有很多实用的数据清洗和处理的进阶用法. ...

  2. 构造HTTP请求Header实现"伪造来源IP"

    构造 HTTP请求 Header 实现“伪造来源 IP ” 在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以 ...

  3. 转:造HTTP请求Header实现“伪造来源IP”

    构造 HTTP请求 Header 实现“伪造来源 IP ” 在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以 ...

  4. 构造HTTP请求Header实现“伪造来源IP”(转)

    原文:http://zhangxugg-163-com.iteye.com/blog/1663687 构造 HTTP请求 Header 实现“伪造来源 IP ” 在阅读本文前,大家要有一个概念,在实现 ...

  5. 构造HTTP请求Header实现“伪造来源IP”

    在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以伪造数据包来源 IP ,但这会让发送出去的数据包有去无回,无 ...

  6. 【转】构造HTTP请求Header实现“伪造来源IP”

    构造 HTTP请求 Header 实现“伪造来源 IP ” 在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以 ...

  7. Outlook2003收到的邮件不能显示图片,但转发或回复可以 故障排错

    转自:http://wenku.baidu.com/link?url=4O0Wpsnk_OasA7B-M4KMJ4H-WnLicT4vfVOT7AvXhTjpn-p2gBTNsXR4W230r0gAE ...

  8. 今天收到报警邮件,提示网站502 bad gateway,

    今天收到报警邮件,提示网站502 bad gateway, 输入网站url后果然无法打开: 登录服务器查看nginx进程正常: 查看fastcGI进程已经停止运行了: 问题找到后就该查找是什么原因产生 ...

  9. 阿里云上部署了zabbix,突然无法收到报警邮件的解决办法

    在阿里云上部署了zabbix,一直能正常接收到zbx发来的报警邮件(报警邮箱是163的),不知是什么原因,突然无法接收到报警邮件了. 但在服务器上手动执行echo "hello"| ...

随机推荐

  1. Spark中的多线程并发处理

    Spark中的多任务处理 Spark的一个非常常见的用例是并行运行许多作业. 构建作业DAG后,Spark将这些任务分配到多个Executor上并行处理.但这并不能帮助我们在同一个Spark应用程序中 ...

  2. leetcode.字符串.242有效的字母异位词-Java

    1. 具体题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注:判断两个字符串包含的字母是否完全一样. 示例 1: 输入: s = "anagram&q ...

  3. [已解决]报错:ValueError: Expected 2D array, got scalar array instead

    报错代码: new_x = 84610 pre_y = model.predict(new_x) print(pre_y) 报错结果: ValueError: Expected 2D array, g ...

  4. 并发新构件之PriorityBlockingQueue:优先阻塞队列

    PriorityBlockingQueue:优先阻塞队列:是带有优先级的阻塞队列,一个无界阻塞队列,它使用与类 PriorityQueue 相同的顺序规则,并且提供了阻塞获取操作.虽然此队列逻辑上是无 ...

  5. undefined reference to `TTF_Init'

    如果编译时遇上 undefined reference to `FunctionName' 或是这种类似错误,首先就得检查是不是函数名拼写错误,如果不是,那估计是编译时候有些链接库没加进去 比如这篇上 ...

  6. 无法CREATE UNIQUE INDEX;找到重复的关键字

  7. Android基础——框架模式MVC在安卓中的实践

    本篇文章包含以下内容: MVC的介绍 MVC的实践 MVC的介绍 MVC (Model View Controller),是模型(model)视图(view)控制器(controller)的缩写,一种 ...

  8. No package docker-io available

    新手centos6.8安装docker时从遇到No package docker-io available开始的各种不小心的坑... 新安装了CentOS6.8,准备安装docker,执行命令 yum ...

  9. cross compile 交叉编译 ffmpeg

    ffmpeg 支持各种压缩格式的视频解码库,经常出现在各种播放器中,交叉编译也是一项麻烦的事情. 1. 下载ffmpeg 源码包   http://ffmpeg.org/releases/ffmpeg ...

  10. 16_TLB与流水线

    1 前面做的实验起始有缺陷 访问内存之后,后面执行两句代码后:并不能保证刚才访问的代码还在TLB中:有可能被刷新出去了: 实验验证缺陷: 代码 不连续 TLB 被淘汰: 2万次中有1次被淘汰:由于访问 ...