UNIX/Linux
文章平均质量分 79
zouxinfox
欢迎喜欢计算机网络,操作系统,coding的人一起交流:-)
展开
-
Linux下的IPv6地址、路由以及隧道配置
如今,几乎所有的主流操作系统、嵌入式操作提供系统都提供了对IPv6协议栈的支持,在windows XP下面,使用ipv6 install命令便可以启动IPv6协议栈,在默认安装的linux下,利用modprobe ipv6便可以以模块的方式加载IPv6协议栈。本篇仅介绍linux下面的IPv6协议栈的配置命令,以后会陆续推出更为详尽的linux及windows下的各种过渡机制,比如6to4转载 2007-10-20 15:42:00 · 17411 阅读 · 0 评论 -
简单的Linux客户-服务器网络程序
下面这段程序中,服务器监听5000端口,客户端通过TCP连接上去以后,服务器会向客户端发送“Hello,success”字符串。程序非常简单,却实现了基本功能。 服务器端程序如下#include sys/socket.h>#include netinet/in.h>int main()...{ int listensock,connsock; const char buff[原创 2007-09-30 20:12:00 · 1473 阅读 · 0 评论 -
Linux下的Dos攻击程序
今天学习了Unix/Linux网络编程的原始套接字,并完成了一个DoS(拒绝服务攻击)程序。该程序向HTTP服务器发送大量建立连接的的请求,但是不发送ack报文,从而可以使服务器产生大量半连接。在半连接超时之前,服务器不堪重负而停止响应其它请求。当多台机器同时参与攻击时候,就办成DDoS攻击(分布式拒绝服务攻击)。 编写原始套接字需要了解报文结构,下面这个链接http://bl原创 2007-10-04 14:08:00 · 7073 阅读 · 2 评论 -
关于gethostbyname在多线程环境下的阻塞问题
Unix/Linux下的gethostbyname函数常用来向DNS查询一个域名的IP地址。 由于DNS的递归查询,常常会发生gethostbyname函数在查询一个域名时严重超时。而该函数又不能像connect和read等函数那样通过setsockopt或者select函数那样设置超时时间,因此常常成为程序的瓶颈。有人提出一种解决办法是用alarm设置定时信号,如果超时就用setjmp和lo原创 2008-03-31 22:07:00 · 10934 阅读 · 2 评论 -
linux下ARP欺骗程序
很久以前写的一个arp reply程序,关键时刻有时能派上用场,保存一下。有次自己服务器的IP不知道被哪个组的抢了,导致上不了网,而网管又找不到是哪台服务器。实在没有办法,只用用此程序夺回了自己的IP。注意这里IP地址和MAC地址都是假的。#include #include #include #include #include #include #define SRC_IP "238.22原创 2008-10-25 09:09:00 · 5228 阅读 · 5 评论 -
一个Linux下C线程池的实现
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。 p原创 2008-12-19 23:03:00 · 22728 阅读 · 19 评论