帐前卒专栏

code, software architect, articles and novels.
代码,软件架构,博客和小说

Error 3 error C2558: class ‘HuffmanCode’ : no copy constructor available or
copy constructor is declared ‘explicit’ d:/microsoft visual studio
8/vc/include/utility 37

今天发现了这个错误,发现报错的地方是

pair(const _Ty1& _Val1, const _Ty2& _Val2)
first(_Val1), second(_Val2)
{ // construct from specified values
}

但这里是std_utility里,这里根本不可能是编译器的错误。

那哪里写错了?根据提示估计是’HuffmanCode’ 的拷贝构造函数错误。然后检查了下:

explicit HuffmanCode(HuffmanCode & codes):b(codes.b)

感觉没有错呀。然后试着去掉了explicit 关键字,发现…还是报相同的错误。

然后仔细看了下 pair(const _Ty1& _Val1, const _Ty2& _Val2),然后
second(_Val2),这里我使用了然后将HuffmanCode作为value而不是作为key。这里看出在成员列表中
second(_Val2)是cosnt的。

这就使得copy construct函数也必须使用const的参数…

所以更改了下
explicit HuffmanCode(const HuffmanCode & codes):b(codes.b)

现在终于渐渐的知道为啥拷贝构造函数其参数是const的了。
修改完毕后在其他函数里写了这样一句代码

HuffmanCode hc = Encode(…);

这里Encode的返回值是Huffman.结果系统编译时提示相同的错误。

explicit HuffmanCode(const HuffmanCode & codes):b(codes.b)是这里的错误。

因为写了explicit,所以返回值必须是const Huffman&才可以.所以还是把explicit关键字去掉了。

今天在编程时遇到这个错误

错误提示:error c2071::illegal storage class

然后在msdn上查了下:

Compiler Error C2071

Error Message

‘identifier’ : illegal storage class
_ identifier _ was declared with an invalid storage class.

Example

The following sample generates C2071.

[ ![](http://i.msdn.microsoft.com/Platform/Controls/CodeSnippet/resources/copy
_off.gif) Copy Code
](javascript:CopyCode(‘ctl00_rs1_mainContentContainer_ctl01other’)😉

// C2071.cpp
// compile with: /c
struct C {
   extern int i;   // C2071
};
struct D {
   int i;   // OK
};

The following sample generates C2071.

[ ![](http://i.msdn.microsoft.com/Platform/Controls/CodeSnippet/resources/copy
_off.gif) Copy Code
](javascript:CopyCode(‘ctl00_rs1_mainContentContainer_ctl02other’)😉

// C2071_b.cpp
// compile with: /c
typedef int x(int i) { return i; }   // C2071
typedef int x;   // OK
发现原来是错用了那些关键字。
后来检查了一下,发现是explicit使用错误。
我将operator=()重载使用了explicit关键字。所以去掉后程序编译通过。

中国网  丁斐

1.虽然有人会觉得,有便宜不占王 八 蛋,傻 子才不用。实在想占便宜,那你就占吧,别把自己搞得太压抑。但是别觉得自己义正词严,也别觉得自己挺精明,四处跟人宣
讲你的选择多正确。同意你看法的人,不用你说,也会像你那么干,不同意你看法的人,当面不说什么,背后也不会高看你,最多落下一个现实的名声,没啥好处。

2.虽然很多人认为,嘴上说得好听,该买还是会买。但是,最起码打击盗版普及了一种价值观,或许还能说服几个人。不是说有了经济学,假设人人都是理性又自私,道德就没
用了。道德可以让不熟悉的人们相互认同,或者认异,人们好看清楚,谁跟自己是一头儿的,谁跟自己是两种境界,谁即便买了盗版,也能承认,不会虚伪。

3.虽然有人说:法律都管不了这事,我们别操心了。但是,正是因为知识产权保护作为一种价值观并没有为人接受,法律时才因欠缺权威性而在执行过程中大打折扣,而任何一
种法律只有在具有公认权威的前提下才可以有效。在漫天VCD广告都以“超强纠错”为诉求的国度里,如果我们主观上放弃作为,法律就很难主动出来维护正确。

4.虽然微软现在用这种悍然的方式入侵了你的电脑。但是,如果你偷了人家的车,哪怕你把赃车里外装修了,人家要是遥控锁住了你的车,也是一点问题都没有。这可不能叫影
响了你的生活。

5.虽然微软正版最初卖得很贵,好多人确实买不起。但是,那是微软没办法。你们全都抄人家的创意,然后不给钱,他不卖贵点,服务于有钱人,他活不活啊?同情微软是同情
微软,自己也要同情。穷的时候,用盗版也就用了,心里知道这是不对的。等有钱了,把钱还给人家微软。买得起手机、笔记本、P2P的人,也不缺那几个钱。

6.虽然很多人判断微软是垄断企业。但是,说真的,你不是单枪匹马,用侠盗的方式去惩罚一个企业吧?水厂电厂基本都垄断,你也不能为了反垄断就偷水偷电。再说,有几个
人是为了反正版垄断才去买盗版的,还真稀罕。

7.虽然盗版,为电脑普及、IT业升级做出过一定贡献。但是,它砸了创意人才的饭碗。这方面最生动的例子不就是中文单机游戏吗?有那么几款大作玩家也快上百万了(正版
+盗版),可有几家厂商赚到钱了,有几家活得还不错的?最后什么情况,优秀的中文单机游戏88了,大家都去做网游。什么盗版用户养活了程序员,都被养死了。

8.虽然盗版,为后进国家吸收文明成果做出过一定贡献。但是,不能老用白拿别人的来发展自己啊。这种厚脸皮的成本竞争,最典型的就是黑砖窑了,啥代价都不付,工人就干
活。如果完全奉行知识产权的价值观念,则中国人吸收文明成果的速度必然会下降,可速度快了,又必然是以对知识产权价值观念的牺牲为代价的。

9.虽然知识产权,不是永远第一重要的。但是,中国想给占优势的劳动密集产品打天下,就必须尊重国际规则约束。只有巴西规定,在出现大规模瘟疫传染病情况下可以强制授
权爱滋病治疗药专利,但仅限于这种事情。短时期内人们只看到盗版所带来的方便和廉价,而看不到由此造成的压抑创新活动带来的长远利益的损害。

10.虽然,这个专题里说的话,你也不一定能认可。但是,我们只有负责任地说,并不是一定要让所有人来认可。如果时间还宽裕,而且碰巧觉得这个专题还顺眼,那就请把这
个专题多转几个地方,毕竟理性、文明的人多了,咱们心里也舒坦。

传说王 八 蛋,傻 子是csdn禁语…我找了很久终于发现这一点。

为同寝的家伙写了一个求一个无序数组中第k小数的程序。思想就是快排的思想。找一个点,然后放到末尾,然后将小于这个数的值放在数组前面,大于这个值的放在数组后面,
然后在将这个末尾的数放回。这个末尾数放入的位置i代表已经找到第i小的数。下面你应该明白了吧,放入的位置如果是k,恭喜你找到了第k小的数。

同样找到第k大的数类似的解法,找到前k个最大数也一样。找一个数组的中位数也一样做。求n个数组的中位数也一样的做。求n个数组的前k个大数或小数也类似可以做。

这个程序的算法复杂度是O(n)

另外这个程序是交换了这个数组元素中的顺序的。现在考虑一下如果不交换过去数组中的元素顺序,并且不开辟一个O(n)空间。那么这个算法的平均复杂度是多少?考虑一下
,写在评论中。谢谢。

  1. // swap two number
  2. void swap( int &i, int &j)
  3. {
  4. int temp = i;
  5. i = j;
  6. j = temp;
  7. }
  8. // find a position to partition the array
  9. int partition( int start, int end)
  10. {
  11. return end/2+start/2;
  12. }
    1. // quick sort
  13. int QuickSort( int a[], int start, int end)
  14. {
  15. if (start > end)
  16. {
  17. throw “error” ;
  18. }
  19. if (start == end)
  20. {
  21. return end;
  22. }
  23. int p = partition(start,end);
  24. int i =0;
    1. swap(a[p],a[end]);
  25. int j = end-1;
  26. while (j>=i)
  27. {
  28. while (a[i]<a[end])
  29. {
  30. i++;
  31. }
    1. while (j >= 0 && a[j]>a[end])
  32. {
  33. j–;
  34. }
  35. swap(a[i],a[j]);
  36. }
  37. swap(a[i],a[j]);
  38. swap(a[i],a[end]);
  39. return i;
  40. }
    1. // find the k-th smaller number
  41. int FindK( int a[], int num, int kth)
  42. {
  43. if (kth > num || kth <= 0)
  44. {
  45. throw “error: no such k-th number” ;
  46. }
  47. int k = kth-1; // because the array index starts with 0, not 1;
  48. int position= -1;
  49. int start = 0;
  50. int end = num-1;
  51. while (position != k)
  52. {
  53. position = QuickSort(a,start,end);
    1. if (position < k)
  54. {
  55. start = position+1;
  56. }
  57. else
  58. {
  59. end = position-1;
  60. }
    1. }
  61. return a[position];
    1. }
      public class Sort{ public int Partition(SortTag[] al,int start, int end){
      SortTag p = al[start]; SortTag tmp; while(start<end){ while(start<end &&
      al[end].compare(p)<=0) end–; tmp = al[start]; al[start] = al[end]; al[end] =
      tmp; while(start<end && al[start].compare(p)>=0) start++; tmp = al[start];
      al[start] = al[end]; al[end] = tmp; } return start; } public void
      FindTopK(SortTag [] al,int k){ if(al.length < k){ return; } int mid = 0; int
      low = 0; int high = al.length-1; while(low <= high){ mid =
      Partition(al,low,high); if(mid < k){ low = mid+1; } else if(mid > k){ high =
      mid-1; } else{ return ; } } } } class SortTag{ public Integer n; public Double
      score; public SortTag(Integer n, Double score){ this.n = n; this.score =
      score; } public int compare(Object o){ Double d = this.score -
      ((SortTag)o).score; if ( d > 0 + 1E-12) return 1; else if( d < 0-1E-12) return
      -1; else return 0; } }

注意这k个数可是无序的…如果想有序…再排序一下就可以了.

One编程组宗旨:
One team, Open and Share.
One编程组吸纳积极进取并乐于助人的人。组内成员分享知识、技能、和机会。
One编程组现在是一个团队,将来成员分散在各地,依旧是一个团队。
One编程组区别于其他俱乐部的地方在于:非功利性组织,旨在提高组内成员的核心竞争力、培养新人。

请坚持看到最后。。。

新职员到岗
老板:万分欢迎,没有你我们的公司肯定大不一样!
职员:如果工作太累,搞不好我会辞职的
老板:放心,我不会让这样的事情发生的!
职员:我双休日可以休息吗?
老板:当然了!这是底线!
职员:平时会天天加班到凌晨吗?
老板:不可能,谁告诉你的?
职员:有餐费补贴吗?
老板:还用说吗,绝对比同行都高!
职员:有没有工作猝死的风险?
老板:不会!你怎么会有这种念头?
职员:公司会定期组织旅游吗?
老板:这是我们的明文规定!
职员:那我需要准时上班吗?
老板:不,看情况吧
职员:工资呢?会准时发吗?
老板:一向如此!
职员:事情全是新员工做吗?
老板:怎么可能,你上头还有很多资深同事!
职员:如果领导职位有空缺,我可以参与竞争吗啊?
老板:毫无疑问,这是我们公司赖以生存的机制!
职员:你不会是在骗我吧?
进入公司后……
(按顺序向上倒回去看O(∩_∩)O哈哈~)

最近想使用STL的heap,我的vs2005 Team Edition For Software Developers版本是version
8.0.50727.42,.Net Framework Version 2.0.50727 .

然后看到微软官网的一段使用Heap的代码

  1. // alg_push_heap.cpp
  2. // compile with: /EHsc
  3. #include 
  4. #include 
  5. #include 
  6. #include 
    1. int main( ) {
  7. using namespace std;
  8. vector < int > v1, v2;
  9. vector < int >::iterator Iter1, Iter2;
    1. int i;
  10. for ( i = 1 ; i <= 9 ; i++ )
  11. v1.push_back( i );
    1. random_shuffle( v1.begin( ), v1.end( ) );
    1. cout << "Vector v1 is ( " ;
  12. for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
  13. cout << *Iter1 << " " ;
  14. cout << “).” << endl;
    1. // Make v1 a heap with default less than ordering
  15. make_heap ( v1.begin( ), v1.end( ) );
  16. cout << "The heaped version of vector v1 is ( " ;
  17. for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
  18. cout << *Iter1 << " " ;
  19. cout << “).” << endl;
    1. // Add an element to the heap
  20. v1.push_back( 10 );
  21. cout << "The heap v1 with 10 pushed back is ( " ;
  22. for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
  23. cout << *Iter1 << " " ;
  24. cout << “).” << endl;
    1. push_heap( v1.begin( ), v1.end( ) );
  25. cout << "The reheaped v1 with 10 added is ( " ;
  26. for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
  27. cout << *Iter1 << " " ;
  28. cout << “).” << endl << endl;
    1. // Make v1 a heap with greater than ordering
  29. make_heap ( v1.begin( ), v1.end( ), greater< int >( ) );
  30. cout << "The greater-than heaped version of v1 is/n ( " ;
  31. for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
  32. cout << *Iter1 << " " ;
  33. cout << “).” << endl;
    1. v1.push_back(0);
  34. cout << "The greater-than heap v1 with 11 pushed back is/n ( " ;
  35. for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
  36. cout << *Iter1 << " " ;
  37. cout << “).” << endl;
    1. push_heap( v1.begin( ), v1.end( ), greater< int >( ) );
  38. cout << "The greater than reheaped v1 with 11 added is/n ( " ;
  39. for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
  40. cout << *Iter1 << " " ;
  41. cout << “).” << endl;
  42. }

发现竟然在push_heap()那里抛了异常。(invalid Heap)

然后无奈去了 www.cplusplus.com 也下了一段代码:

  1. // range heap example
  2. #include 
  3. #include 
  4. #include 
  5. using namespace std;
    1. int main () {
  6. int myints[] = {10,20,30,5,15};
  7. vector< int > v(myints,myints+5);
  8. vector< int >::iterator it;
    1. make_heap (v.begin(),v.end());
  9. cout << "initial max heap   : " << v.front() << endl;
    1. pop_heap (v.begin(),v.end()); v.pop_back();
  10. cout << "max heap after pop : " << v.front() << endl;
    1. v.push_back(99); push_heap (v.begin(),v.end());
  11. cout << "max heap after push: " << v.front() << endl;
    1. sort_heap (v.begin(),v.end());
    1. cout << “final sorted range :” ;
  12. for (unsigned i=0; i<v.size(); i++) cout << " " << v[i];
    1. cout << endl;
    1. return 0;
  13. }

这段代码没有抛异常,运行完好。仔细检查一番,发现可能是vector数组中的元素没有增多的缘故。于是将

pop_heap (v.begin(),v.end()); v.pop_back();改为

pop_heap (v.begin(),v.end()); 这样vector元素就在总数上多了一。

然后运行…相同的错误。

不知道vs2008版本上有没有相同的错误。

这是一部很有趣也很感人的片子。片子中的小女孩以真诚感化了企图用自杀来解脱自己的骨伤演员。电影以描述故事的口吻细祥讲述了这个演员的内心世界。故事中的世界与现实
世界的紧密结合,反反复复刻画了一个即将坠入深渊的人(或者是英雄)。有趣的故事人物设置,增添了故事的魔幻喜剧效果。最后一个故事情节中小女孩大声疾呼:“Get
up(起来)”,感化了这个已经近乎绝望的人,让他看到了自己的存在意义和人生价值。小女孩如同天使一样挽救了他的灵魂。Get up (起来)对应Fall(坠入)
这也是影片的艺术之处。希望看过影片的人能从自己的失利挫折的阴影中走出来,看看周围需要你的人,重拾剑甲再入战斗。与其说这部电影描写要坠入深渊的人,不如说它希望
展现一个人如何才能爬出悲剧的深渊的心理变化历程。丰富而细致的人物内心刻画让这个影片得到如期得到柏林大奖。

Are you trying to save my soul? The Euchrist, it saves your
soul.小女孩拿到圣餐,以为就是小片面包,将它分与骨伤演员后的一段对话。骨伤演员以为是拯救他灵魂的。

My grief has gone blood red with revenge.这句话很经典。可以用于复仇。我的悲伤化为血红的仇恨。

googly googly googly be gone.这是老人交给小女孩在看到可怕事情时念的“咒语”。

Always following your heart.we are finally free to follow our
hearts.我们都是follow了自己的heart。所以没有必要为其他人考虑。总是为自己的利益最大化而坚持不懈的努力。自己评判是对是错。

There is no happy ending with me.结局即使不是喜剧,我们也要尽量制造接近喜剧的结局。这让我想到十全九美,其实如果最后的分离结
局放在开始,结局也就没有什么悲伤的情绪在里面了。所以是好结局还是坏结局,凭乎内心。总不会天天有十全十美的事情发生。

Promise? And don’t cross your fingers.食指中指交叉是说谎的表现。所以发誓的时候,看看发誓者有没有做这个动作。

My lord, all hope is lost. It seems your mighty army shall finally be
conquered. Not by the persons, but by our own greedy. This helmet contains
last we supply. I believe your wisdom shall save us all.

-why?

-It’s Alexander’s way showing the army they were all equal.

-It’s stupid

亚历山大在处理沙漠缺水时,将仅剩的最后一钢盔水倒在漫漫黄沙上,为了表现全军将士人人平等。小女孩对此做出的评价:It’s stupid.

我想但是亚历山大怎么做都是stupid.

![](http://p.blog.csdn.net/images/p_blog_csdn_net/cctt_1/EntryImages/20081013/
Fall.jpg)

【影片原名】The Fall
【中文译名】坠入
【出品公司】Paradise Group
【出品年代】2008
【上映日期】2008年5月30日 美国
【影片级别】USA:R
【官方网站】 _
http://www.thefallthemovie.com/ _

【IMDB链接】 _
http://www.imdb.com/title/tt0460791 _

【IMDB评分】8.2/10 (4,831 votes)
【字  幕】 _ 点击打开字幕下载页 _
【国  家】美国 /英国 /印度
【类  别】奇幻/剧情/冒险
【导  演】Tarsem Singh
【主  演】李·佩斯 Lee Pace …Roy Walker/The Black Bandit
凯婷卡·安塔鲁 Catinca Untaru …Alexandria
贾斯蒂恩·瓦戴尔 Justine Waddell …Evelyn
Daniel Caltagirone …Sinclair/Governor Odious
Leo Bill …Charles Darwin
Julian Bleach …The Mystic

一,ping

它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:
网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步
判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /?
回车,。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。

-t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。

-l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。

-n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。

说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如"ping IP -t -n 3",虽然使用了-
t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。

下面我们举个例子来说明一下具体用法。

这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小
。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说"初步判断"是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。

(小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)

至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对别人进行ping攻击……这些就靠大家自己发挥了。

二,nbtstat

该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网
卡的MAC地址等。在此我们就有必要了解几个基本的参数。

-a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息(下同)。

-A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。

-n 列出本地机器的NETBIOS信息。

当得到了对方的IP或者机器名的时候,就可以使用nbtstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。

三,netstat

这是一个用来查看网络状态的命令,操作简便功能强大。

-a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息,如图4。

这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。

-r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。
四,tracert

跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。如图5。

这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。

五,net

这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是
微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车如图6。

在这里,我们重点掌握几个入侵常用的子命令。

net view

使用此命令查看远程主机的所以共享资源。命令格式为net view /IP。

net use

把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x: /IP/sharename。上面一个表示把192.168.0
.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use /IP/IPC$ “password”
/user:“name”),

建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe
/192.168.0.7/admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。

net start

使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net
start servername,如图9,成功启动了telnet服务。

net stop

入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。

net user

查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数
的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。

1,net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。

2,net user abcd /del,将用户名为abcd的用户删除。

3,net user abcd /active:no,将用户名为abcd的用户禁用。

4,net user abcd /active:yes,激活用户名为abcd的用户。

5,net user abcd,查看用户名为abcd的用户的情况

net localgroup

查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为a
dministrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。用法:net localgroup groupname username
/add。

现在我们把刚才新建的用户abcd加到administrator组里去了,这时候abcd用户已经是超级管理员了,呵呵,你可以再使用net user abcd来
查看他的状态,和图10进行比较就可以看出来。但这样太明显了,网管一看用户情况就能漏出破绽,所以这种方法只能对付菜鸟网管,但我们还得知道。现在的手段都是利用其
他工具和手段克隆一个让网管看不出来的超级管理员,这是后话。有兴趣的朋友可以参照《黑客防线》第30期上的《由浅入深解析隆帐户》一文。

net time

这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。
这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time
/IP。

六,at

这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序(知道net
time的重要了吧?)。当我们知道了远程主机的当前时间,就可以利用此命令让其在以后的某个时间(比如2分钟后)执行某个程序和命令。用法:at time
command /computer。

表示在6点55分时,让名称为a-01的计算机开启telnet服务(这里net start telnet即为开启telnet服务的命令)。
七,ftp

大家对这个命令应该比较熟悉了吧?网络上开放的ftp的主机很多,其中很大一部分是匿名的,也就是说任何人都可以登陆上去。现在如果你扫到了一台开放ftp服务的主机
(一般都是开了21端口的机器),如果你还不会使用ftp的命令怎么办?下面就给出基本的ftp命令使用方法。

首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入"help"来查看帮助(任何DOS命令都可以使用此方法查看其帮助)。

大家可能看到了,这么多命令该怎么用?其实也用不到那么多,掌握几个基本的就够了。

首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入"open 主机IP
ftp端口"回车即可,一般端口默认都是21,可以不写。接着就是输入合法的用户名和密码进行登陆了,这里以匿名ftp为例介绍。

用户名和密码都是ftp,密码是不显示的。当提示**** logged in时,就说明登陆成功。这里因为是匿名登陆,所以用户显示为Anonymous。

接下来就要介绍具体命令的使用方法了。

dir 跟DOS命令一样,用于查看服务器的文件,直接敲上dir回车,就可以看到此ftp服务器上的文件。

cd 进入某个文件夹。

get 下载文件到本地机器。

put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了,如果可以,呵呵,该怎么 利用就不多说了,大家就自由发挥去吧。

delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。

bye 退出当前连接。

quit 同上。
八,telnet

功能强大的远程登陆命令,几乎所有的入侵者都喜欢用它,屡试不爽。为什么?它操作简单,如同使用自己的机器一样,只要你熟悉DOS命令,在成功以administra
tor身份连接了远程机器后,就可以用它来干你想干的一切了。下面介绍一下使用方法,首先键入telnet回车,再键入help查看其帮助信息。

然后在提示符下键入open IP回车,这时就出现了登陆窗口,让你输入合法的用户名和密码,这里输入任何密码都是不显示的。

当输入用户名和密码都正确后就成功建立了telnet连接,这时候你就在远程主机上具有了和此用户一样的权限,利用DOS命令就可以实现你想干的事情了。这里我使用的
超级管理员权限登陆的。

到这里为止,网络DOS命令的介绍就告一段落了,这里介绍的目的只是给菜鸟网管一个印象,让其知道熟悉和掌握网络DOS命令的重要性。其实和网络有关的DOS命令还远
不止这些,这里只是抛砖引玉,希望能对广大菜鸟网管有所帮助。学好DOS对当好网管有很大的帮助,特别的熟练掌握了一些网络的DOS命令。

另外大家应该清楚,任何人要想进入系统,必须得有一个合法的用户名和密码(输入法漏洞差不多绝迹了吧),哪怕你拿到帐户的只有一个很小的权限,你也可以利用它来达到最
后的目的。所以坚决消灭空口令,给自己的帐户加上一个强壮的密码,是最好的防御弱口令入侵的方法。

最后,由衷的说一句,培养良好的安全意识才是最重要的。

=========================================
开始→运行→命令集锦
winver---------检查Windows版本
wmimgmt.msc----打开windows管理体系结构(WMI)
wupdmgr--------windows更新程序
wscript--------windows脚本宿主设置
write----------写字板
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天

mem.exe--------显示内存使用情况
Msconfig.exe—系统配置实用程序
mplayer2-------简易widnows media player
mspaint--------画图板
mstsc----------远程桌面连接
mplayer2-------媒体播放机
magnify--------放大镜实用程序
mmc------------打开控制台
mobsync--------同步命令

dxdiag---------检查DirectX信息
drwtsn32------ 系统医生
devmgmt.msc— 设备管理器
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc—磁盘管理实用程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dvdplay--------DVD播放器

net stop messenger-----停止信使服务
net start messenger----开始信使服务
notepad--------打开记事本
nslookup-------网络管理的工具向导
ntbackup-------系统备份和还原
narrator-------屏幕"讲述人"
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc—移动存储管理员操作请求
netstat -an----(TC)命令检查接口

syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
shrpubw--------创建共享文件夹
secpol.msc-----本地安全策略
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
services.msc—本地服务设置
Sndvol32-------音量控制程序
sfc.exe--------系统文件检查器
sfc /scannow—windows文件保护

tsshutdn-------60秒倒计时关机命令
tourstart------xp简介(安装完成后出现的漫游xp程序)
taskmgr--------任务管理器

eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打开资源管理器
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
progman--------程序管理器

regedit.exe----注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
rononce -p ----15秒关机
regsvr32 /u *.dll----停止dll文件运行
regsvr32 /u zipfldr.dll------取消ZIP支持

cmd.exe--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cliconfg-------SQL SERVER 客户端网络实用程序
Clipbrd--------剪贴板查看器
conf-----------启动netmeeting
compmgmt.msc—计算机管理
cleanmgr-------垃圾整理
ciadv.msc------索引服务程序

osk------------打开屏幕键盘
odbcad32-------ODBC数据源管理器
oobe/msoobe /a----检查XP是否激活
lusrmgr.msc----本机用户和组
logoff---------注销命令
iexpress-------木马捆绑工具,系统自带

Nslookup-------IP地址侦测器

fsmgmt.msc-----共享文件夹管理器

utilman--------辅助工具管理器

gpedit.msc-----组策略

~~

其实我认为曾经应该值得学习的是exit这个命令,在98环境下,常常有人进入了DOS后,不知道怎么出来。

还有dir和cd命令

其实for命令也是常用的,经常用于脚本编程。

echo...这个命令就是为了写文件显示方便点..

这篇文章摘抄自....很多地方。最后一次转载来时 [ _ chaihuoniu  _ ](http://hi.csdn.net/chaihuoniu)  

现在看到中文的网站全部贴的花花绿绿的图片,对我一点也没有用。还占用我的流量。

外国的专业网站多好,没有啥七七八八的图片和广告。全部都是内容。这流量用的多值。

建议以后大家使用非图片的各种内容信息。当然为了主题的表达也可以加些少量的图片。

0%