ÔÚlinuxϲéѯ·ÓÉ
ÔÚlinux²éѯ·Óɵķ½·¨ÓкܶàÖÖ¡£ÏÂÃæ½éÉÜÒ»ÖÖ´Óiproute¿ªÔ´Èí¼þÖÐÌáÈ¡³öÀ´µÄÒ»ÖÖ·½·¨¡£ÔÚubuntu904ϱàÒ룬ÔËÐÐͨ¹ý¡£
±àÒë: gcc -o reqroute iproute_linux.c
ʹÓÃ: ./reqroute 1.2.3.4
½á¹û:source:1.3.4.5
Gateway:192.168.1.3
Dev:eth0
Ô´´úÂëÈçÏ£º
iproute_linux.h
typedef unsigned char __u8;
typedef short __s16;
typedef unsigned int __u32;
typedef struct{
__u8 family;
__u8 bytelen;
__s16 bitlen;
__u32 flags;
__u32 data[8];
} inet_prefix;
static struct{
int tb;
int cloned;
int flushed;
char *flushb;
int flushp;
int flushe;
struct rtnl_handle *rth;
int protocol, protocolmask;
int scope, scopemask;
int type, typemask;
int tos, tosmask;
int iif, iifmask;
int oif, oifmask;
int realm, realmmask;
inet_prefix rprefsrc;
inet_prefix rvia;
inet_prefix rdst;
inet_prefix mdst;
inet_prefix rsrc;
inet_prefix msrc;
} filter;
struct dn_naddr{
unsigned short a_len;
unsigned char a_addr[20];
};
struct ipx_addr {
u_int32_t ipx_net;
u_int8_t ipx_node[6];
};
struct idxmap{
struct idxmap * next;
unsigned index;
int type;
int alen;
unsigned flags;
unsigned char addr[20];
char name[16];
};
struct rtnl_handle{
int fd;
struct sockaddr_nl local;
struct sockaddr_nl peer;
__u32 seq;
__u32 dump;
};
ÁíÒ»¸öÎļþ£º
iproute_linux.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <syslog.h>
#include <fcntl.h>
#include <string.h>
#include <time.h>
#include <sys/time.h>
#includ
Ïà¹ØÎĵµ£º
free_bootmem()Õâ¸öº¯ÊýÊÇϵͳÆô¶¯³õÆÚÄÚ´æÊͷŵĺËÐĺ¯Êý£¬ÎÒÃÇÀ´¿´¿´ËüµÄ´úÂë¡£
void __init free_bootmem (unsigned long addr, unsigned long size)//addrÊÇÒªÊͷŵÄÎïÀíÆðʼµØÖ·£¬sizeÊÇÒªÊͷſռäµÄ´óС¡£
{
free_bootmem_core(NODE_DATA(0)->bdata, addr, size);//Ö±½ ......
shellÓï·¨£¨ÎåÏ
1.ÃüÁî¸ñʽ
2.ͨÅä·û
3.ÖØ¶¨Ïò
4.¹ÜµÀ
5.shellÖеÄÒýÓÃ
6.×Ô¶¯²¹ÆëÃüÁîÐÐ
ϵͳ¹ÜÀíά»¤
ls
pwd
cd
date
passwd
su
clear
man
who
w
uname
uptime
last
dmesg
free
ps
top
Îļþ¹ÜÀí±à¼
mkdir
more
cat
diff
grep
rm
touch
ln
file
cp
find
split
mv
ѹËõ½âѹ
zi ......
Ò».linuxµÄÌØµã
1£©Ãâ·ÑµÄ/¿ªÔ´µÄ
2£©Ö§³Ö¶àÏß³Ì/¶àÓû§
3£©°²È«ÐÔºÃ
4£©¶ÔÄÚ´æºÍÎļþ¹ÜÀíÓÅÔ½
¶þ.ËÔÚͦlinux
IBM/Compaq/Novell/Oracle/Sun/NEC....
Èý.linux ×îСֻҪ4MÄÚ´æ -¡·Ç¶Èëʽ¿ª·¢
ËÄ.linux µÄ¹ÊÊÂ
1973£¬unix³öÏÖ¡£´ËʱwindowsÉÐδ³öÉú
Ô´ÂëÄں˹²Ïí -¡·IBMÍÆ³öaix£¬SUNÍÆ³ösolaris£¬HPÍÆ³öHP unix£¬ ......
/bin ´æ·Å×î³£ÓõÄÃüÁ´ËĿ¼ÏµÄÃüÁîËùÓÐÓû§¶¼ÓÐÖ´ÐеÄȨÏÞ
/boot LinuxϵͳÒýµ¼Ä¿Â¼£¬´ËĿ¼±£´æÏµÍ³Æô¶¯Ê±µÄÄÚºËÎļþºÍÄÚºËÓ³ÏñÎļþ¼°Æô¶¯Ê±ËùÐèµÄÆäËüÎļþ
/dev É豸Îļþ£¬±£´æËùÓеÄÓ²¼þÉ豸Îļþ£¬ÈçÓ²ÅÌÉ豸Îļþ£¬ÈíÇý¡¢¹âÇýÉ豸ÎļþµÈµÈ
/etc ......
Linux¶àÏ̱߳à³Ì¼¼Êõ×ܽá
1
¡¢Ï̵߳Ĵ´½¨¡¢ÖÕÖ¹¼°¿ØÖÆ£º
Èκνø³ÌÔÚÆô¶¯Ê±¾ÍÒÑÓÐÁËÒ»¸öÖ÷Ị̈߳¬Èç¹ûÐèÒªÔÙÉú³ÉÏß³ÌÔòʹÓÃ
pthread_create
º¯Êý£¬Ôڸú¯ÊýÖпÉÒÔÖ¸¶¨Ï̵߳ÄÊôÐÔ¡¢Ïß³ÌÀý³Ì¡¢´«¸øÏß³ÌÀý³ÌµÄ²ÎÊý¡£Ïß³ÌÀý³ÌÊÇÒ»¸öÓû§×Ô¶¨ÒåµÄº¯Êý£¬¼°Ïß³ÌÖ´ÐеĴúÂë¡£µ±Ïß³ÌÀý³Ì· ......