pop3c.c.zip

  • PUDN用户
    了解作者
  • C#
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 11
    下载次数
  • 2009-12-02 23:32
    上传日期
linux下解析pop3本文的一个示例代码,有助于加深对pop3协议的理解
pop3c.c.zip
  • pop3c.c
    1.7KB
内容介绍
#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <netdb.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #define POP3SERVPORT 110 #define MAXDATASIZE 512*1024 int main(int argc, char *argv[]) { int sockfd; struct hostent *host; struct sockaddr_in serv_addr; char *POPMessage[]={ "USER *******\r\n", "PASS *******\r\n", "STAT\r\n", //"LIST\r\n", "RETR 1\r\n", "QUIT\r\n", NULL }; int iLength; int iMsg=0; int iEnd=0; char buf[MAXDATASIZE]; /*if((host=gethostbyname("excnt0at.corp.good.com"))==NULL) { perror("gethostbyname error"); exit(1); }*/ if((host=gethostbyname("pop3.sina.com.cn"))==NULL) { perror("gethostbyname error"); exit(1); } if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror("socket error"); exit(1); } serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(POP3SERVPORT); serv_addr.sin_addr = *((struct in_addr *)host->h_addr); bzero(&(serv_addr.sin_zero),8); if (connect(sockfd, (struct sockaddr *)&serv_addr,sizeof(struct sockaddr))==-1) { perror("connect error"); exit(1); } do { send(sockfd,POPMessage[iMsg],strlen(POPMessage[iMsg]),0); /*iLength=recv(sockfd,buf+iEnd,sizeof(buf)-iEnd,0); iEnd+=iLength; buf[iEnd]='\0';*/ printf("have sent: %s",POPMessage[iMsg]); if(iMsg == 3) { sleep(15); } else if(iMsg == 4) { sleep(10); } else { sleep(3); } iLength=recv(sockfd,buf,sizeof(buf),0); buf[iLength] = '\0'; printf("received length this time:%d\n",iLength); //printf("received: %s\n",buf+iEnd-iLength); printf("received: %s\n",buf); iMsg++; } while (POPMessage[iMsg]); close(sockfd); return 0; }
评论
    相关推荐
    • hydra-5.4-src.tar.gz
      crack telnet, smb, ssh and another
    • java8stream源码-big-data-laboratory:大数据实验室,使用Kibana、Elasticsearch、
      java8流源码大数据实验室 指数 先决条件 Java 检查当前的 Java 版本 java -version # output # java version "1.8.0_241" # Java(TM) SE Runtime Environment (build 1.8.0_241-b07) ...(x86_64-pc-lin
    • OpenSSL_HeartBleed_POC_Pcap
      CVE-2014-0160漏洞 2014年4月7日OpenSSL发布了安全公告,在OpenSSL1.0.1版本中存在严重漏洞(CVE-2014-0160)。OpenSSL Heartbleed模块存在一个BUG,问题存在于ssl/dl_both.c文件中的心跳部分,当攻击者构造一个特殊的...
    • java8stream源码-big-data-laboratory:大数据实验室
      java8流源码大数据实验室 指数 先决条件 Java 检查当前的 Java 版本 java -version # output # java version "1.8.0_241" # Java(TM) SE Runtime Environment (build 1.8.0_241-b07) ...(x86_64-pc-lin
    • CoinBase Checker.zip
      checker for coinbase account working
    • NS2example.rar
      在ns2下实现无线传感器网络仿真,多个节点进行网络活动
    • tor-0.2.1.20.tar.gz
      The Onion Router 洋葱路由。具体不用解释了。
    • IPMessage.zip
      局域网内聊天和文件传送工具飞鸽传书 传送文件时可以选择一个目录,速度非常快
    • some-ns2-trace-awk.rar
      ns2中的trace分析脚本,用于网络仿真,吞吐量,延时,抖动率的分析
    • WiMAX_Protocol_Code.rar
      This documentation is based on the following versions:- pre-release of the wimax model developed by NIST (file patch-wimax-prerelease-092206)- ns-2.29 此程序是NS2下用C、C++编写的,主要对Wimax 802.16d和802.16e的MAC层协议的仿真,压缩文件内部有详细的说明。 由于NS2运行在Linux下而且是对网络的模拟,因此把它归在Linux/网络类中