博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

random

本blog旨在揭露“黑客”入侵的一些手法,以更好的挺高安全水平!欢迎大家多多交流
  harker.cublog.cn

关于作者
姓名:backtrack
职业:free
年龄:**
位置:
个性介绍:在网络的世界了,没有绝对的安全,也没有任何人能够束缚着你。
|| << >> ||
我的分类


timeclnt
/*timeclnt.c -a client for timeserv.c
* usage:timeclnt hostname portnumber
*/

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>

#define oops(msg) {perror(msg);exit(1);}

main(int ac,char *av[])
{
struct sockaddr_in servadd; /*the number to call*/
struct hostent *hp; /*used to get number*/
int sock_id,sock_fd; /*the socket and fd*/
char message[BUFSIZ]; /*TO RECEIVE MESSAGE*/
int messlen; /*for message length*/

/*
*step 1:get a socket
*/

sock_id=socket(AF_INET,SOCK_STREAM,0);
if(sock_id==-1)
oops("socket");

/*
*step 2:connect to server
*need to build address (host,port) of server first
*/

bzero(&servadd,sizeof(servadd)); /*zero the address*/

hp=gethostbyname(av[1]); /*lookup hosts ip #*/
if(hp==NULL)
oops(av[1]); /*or die*/

bcopy(hp->h_addr,(struct sockaddr *)&servadd.sin_addr,hp->h_length);

servadd.sin_port=htons(atoi(av[2])); /*fill in port number*/
servadd.sin_family=AF_INET; /*fill in socket type*/

if(connect(sock_id,(struct sockaddr *)&servadd,sizeof(servadd))!=0)
oops("connect");

/*
*step 3:transfer data from server,then hangup
*

messlen=read(sock_id,message,BUFSIZ); /*read stuff*/
if(messlen==-1)
oops("read");
if(write(1,message,messlen)!=messlen) /*and write to*/
oops("write"); /*stdout*/
close(sock_id);





}



发表于: 2008-05-30,修改于: 2008-05-30 10:56,已浏览114次,有评论0条 推荐 投诉


网友评论
 发表评论