Linux TCP Socket³ÌÐò·ÖÎö
/************************
cÓïÑÔ±àдµÄtcp socketͨÐŵÄserver¶Ë¡£
¿ÉÒÔ³ÖÐø¼àÌýmyprotÖ¸¶¨µÄ¶Ë¿Ú
´òÓ¡¶Ë¿Ú½ÓÊÕµ½µÄ×Ö·ûÁ÷
Í·ÎļþÒòΪ¼âÀ¨ºÅ±»×ªÒ壬ËùÒÔÓÃÁËÒýºÅ
************************/
#include "stdio.h"
#include "stdlib.h"
#include "errno.h"
#include "string.h"
#include "sys/types.h"
#include "netinet/in.h"
#include "sys/socket.h"
#include "sys/wait.h"
int main(int argc,char **argv)
{
int sockfd, new_fd;
struct sockaddr_in my_addr;
struct sockaddr_in their_addr;
unsigned int sin_size,myport,listnum;
myport = 9785; //°ó¶¨µÄ¶Ë¿ÚºÅ
listnum = 10;
/*************************************************
Socket½Ó¿Ú£ºÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àµÄº¯Êý£¬¿ÉÒÔ
ÔÚ´Ë»ù´¡ÉÏ¿ª·¢InternetÉϵÄTCP/IPÍøÂç±à³Ì
Create Socket: int socket(int domain, int type, int protoco);
Argument Description:domain Ö¸Ã÷ËùÓÐÐÒé×壬ͨ³£ÊÇPF_INET(TCP/IPV4)
µ±È»ËûÒ²¿ÉÒÔÖ§³ÖIPV6£¬ºÍ¸ü¶àµÄÍøÂçÐÒ飬¸ù¾Ý
¾ßÌåµÄÓ¦ÓÃÀ´Ñ¡Ôñ
type ·ÖSOCK_STREAM(TCP),SOCK_DGRAM(UDP),SOCK_RAW
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......
netfilterµÄʵÏÖ»úÖÆ»ùÓÚËĸö²ã´ÎµÄÆ¥Å䣬Êý¾Ý°üÔÚÿ¸ö²ã´Î¶¼Òª¾¹ýÒ»¸ö¹ýÂËÁ´±í£¬µÚÒ»¸ö²ã´Î¾ÍÊÇhook£¬ÖÚËùÖÜÖªlinuxÄÚºËÖÐÒ»¹²ÓµÓÐ5¸öhooks£¬µ±È»ÄãÒ²¿ÉÒÔ×Ô¼ºÐÞ¸ÄÄÚºËÔÚÈκεط½Ìí¼Óhook£»µÚ¶þ¸ö²ã´Î¾ÍÊÇÿ¸öhookÏÂÃæµÄtables£¬Ã¿Ò»¸öhook¶¼¹ý¹ÒÔØÁã¸ö»òÕßÈô¸É¸ötables£¬Êý¾Ý°üÒªÒ»¸öÒ»¸ö¾¹ýÕâЩtables£»µÚÈý¸ö²ã´Î¾ÍÊÇ ......
ÎÒÕâÀï˵µÄioctlº¯ÊýÊÇÔÚÇý¶¯³ÌÐòÀïµÄ£¬ÒòΪÎÒ²»ÖªµÀ»¹ÓÐûÓбðµÄ³¡ºÏÓõ½ÁËioctl£¬ ËùÒԾ͹涨ÁËÎÒÃÇÌÖÂ۵ķ¶Î§¡£ÎªÊ²Ã´ÒªÐ´ÆªÎÄÕÂÄØ£¬ÊÇÒòΪÎÒÇ°Ò»Õó×Ó±»ioctl¸ø¸ã»ìÁË£¬Õ⼸Ìì²ÅŪÃ÷°×Ëü£¬ÓÚÊÇÔÚÕâÀïÇåÀíÒ»ÏÂÍ·ÄÔ¡£
Ò»¡¢ ʲôÊÇioctl¡£
ioctlÊÇÉ豸Çý¶¯³ÌÐòÖжÔÉ豸µÄI/OͨµÀ½øÐйÜÀíµÄº¯Êý¡£Ëùν¶ÔI/OͨµÀ½øÐйÜÀí£ ......
gnome: µãÓÒ¼ü---new Launcher£¬ÊäÈë¿ì½Ý·½Ê½µÄÃû³Æ£¬²¢Ñ¡ÔñÖ´ÐеijÌÐò¼´¿É¡£
kde: ÓÒ¼üµ¥»÷×ÀÃæµÄ¿Õ°×´¦£¬ÔÚµ¯³öµÄ¶Ô»°¿òÖÐÑ¡“н¨£Ó¦ÓóÌÐòÁ´½Ó”¡£ÔÙÔÚµ¯³öµÄ´°¿ÚÖеã“Ö´ÐД£¬ÔÚÃüÁîÀ¸ÖеãºóÃæµÄä¯ÀÀ¼ü£¬ÕÒµ½ÏàÓ¦µÄ³ÌÐò¡£Ôٵ㓳£¹æ”£¬½øÐÐÈ¡Ãû¡¢¸ü¸Äͼ±êµÈ²Ù×÷£¬×îºóµãÈ·¶¨£¬ÕâÑù ......
1.»ù´¡ÖªÊ¶
Ò»¸ö²Ù×÷ϵͳ¿ÉÒÔ¼òµ¥µÄ³éÏóΪ£¬Òýµ¼³ÌÐò ÄÚºË Îļþϵͳ¡£
vmlinuzÊÇLinux Äں˵ľµÏñÎļþ,¿ÉÒÔ±»Òýµ¼³ÌÐò¼ÓÔØ,´Ó¶øÆô¶¯Linuxϵͳ¡£
initrdµÄÈ«³ÆÊÇboot loader initialized RAM disk£¬ËüÊÇϵͳÆô¶¯Ê±ËùʹÓõĸùÎļþϵͳӳÏñÎļþ£¬Õâ¸öÎļþϵͳÖаüº¬¼¸¸öÇý¶¯Ä£¿é£¬ÓÃÀ´×°ÔØʵ¼ÊµÄ¸ùÎļþϵͳ£¬±ÈÈçÒ»¸öIDE»òS ......