linux 串口读取数据被截断,怎样一次全部接收?阅读全文
原创  端口扫描程序实现原理 收藏

以前看过很多网络相关方面的程式源码, 但时间长了都忘了怎么实现的了, 因此,想将以后看过的源码实现方式记录下来, 以免下次再得找资源!

其实端口扫描程式的原理很简单, 利用socket连接指定IP的端口, 根据其返回值就可以得知目标机器是否开启了这个端口,

实现步骤如下:

1. 创建socket

    c_socket = socket ( AF_INET, SOCK_STREAM, 0 );
    if ( c_socket == SOCKET_ERROR )
    {
         printf (" create socket fault!\n ");
         return -1;
    }
2. 连接目示机器

    struct sockaddr_in remoteaddr;
    struct hostent*    remotehost;
    remoteaddr.sin_family = AF_INET;
    remoteaddr.sin_addr.s_addr   = inet_addr ( Address );
    remoteaddr.sin_port          = htons ( cPort );

    //连接
    if  ( connect ( c_socket, (SOCKADDR*) &remoteaddr, sizeof ( struct sockaddr_in ) ) == SOCKET_ERROR )
    {
         printf ("< %3d >  connect port %5d  ...\n",ThreadID,cPort ) ;
         closesocket( c_socket);
         return -1;
    }
    closesocket( c_socket);

    printf ("< %3d >  connect port %5d  succeed\n",ThreadID,cPort ) ;

也可以利用多线程技术实现, 只要给每个线程分配好指定的扫描端口段就可以了

来源:
http://blog.csdn.net/study_live/archive/2009/09/28/4604673.aspx

RSA算法是一种基于公钥和私钥的加密算法, 是由Ronald Rivest, Adi Shamir和Len Adleman三人在Diffie-Helman指数密钥交换算法的

基础上于1977年设计出来的,Rivest设计的加密系统利用了数学领域的一个事实,那就是虽然把两个大素数相乘生成一个合数是件很容易

的事, 但要把一个合数分解为两个素数却十分困难。
RSA的安全性依赖于大数分解,公钥和密钥都是两个大素数(大于100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度

等同于分解两个大素数之积。
密钥对的产生,选对两个大素数p和q,计算
    n=p*q
然后随机选择加密密钥e, 要求e和(p-1)*(q-1)互质,最后,利用Euclid算法计算解密密钥d,满足
    (e*d) mod ((p-1)*(q-1))=1
其中n和d也要互质, 数e和n是公钥,d是私钥.现在两个素数p和q可以丢弃不再需要,不要让任何人知道.
加密信息m(二进制表示)时,首先把m分成等长数据块m1,m2....mi,块长s,其中2^s<=n, s尽可能地大.对应的密文是:
    ci=mi^e (mod n)            (a)
解密时作如下计算:
    mi=ci^d (mod n)            (b)
RSA可用于数字签名,方案是用(a)式签名,(b)式验证.具体操作时考虑到安全性和m信息量较大等因素,一般先作hash运算.

RSA算法示例:
(1) 选择两个素数:p=7, q=17
(2) 计算n=p*q=7*17=119
(3) 计算φ(n)=(p-1)*(q-1)=96
(4) 选择e,e为φ(n)=96的相对素数,要比φ(n)小,本例中e=5
(5) 决定d,使(d*e) mod 96=1,且d<96,正确值为d=77,因为77*5=385=4*96+1.

结果密钥为公钥KU={5, 119}和私钥KR={77, 119}
如输入明文M=19,使用以上密钥加密:
    ci=M^e (mod n)
      =19^5 mod 119
      =2476099 mod 119
      =66
解密由66^77 mod 119=19决定.

《黑客防线---口令破解与加密技术》笔记
来源:http://blog.csdn.net/study_live/archive/2009/12/19/5038828.aspx
这个哥们写的邮件的分析很不错,转载自:http://blog.csdn.net/study_live/archive/2010/01/09/5163639.aspx

阅读全文
水树奈々WILD EYES这个MV做得不错,翻看了下歌词,翻译为中文如下:

WILD EYES
バジリスク~甲贺忍法帖~ ED2 (by水树奈々)

双唇浸满赤红露珠
轻触微薄叹息之雾
皎洁明月斜挂夜空
照亮远处暗之远方

星光倾注 不禁驰想天外
血之羁绊 深切而又肃穆
与你生死相连 命运与共

璀璨眼眸仿若流光溢彩
纵然被黑暗使者所囚禁
也无人能斩断魂萦梦牵
请尽情照亮无限的明日

宛若光彩妖艳鸣神之舞
甜言蜜语令人垂涎欲滴
隐忍住振翅欲飞的黑翼
心脏为渴求出路而呻吟

隐于时光中的诱人陷阱
渐露出光泽锐利的獠牙
那周而复始的命运悲剧

若我们命中注定的故事
如同短暂而美丽的气泡
我将高举长刀撰写诗篇
为了决不能妥协的将来

在浅浅入眠的黎明时刻
孤独的我为你祈祷上苍
将眼泪铭刻于苍白云层
不停追逐着我最爱的你

仇恨火焰狂舞大地
热切而真挚的誓言
贯穿不染污浊的心

璀璨眼眸仿若流光溢彩
纵然被黑暗使者所囚禁
魂梦之桥永远不会断绝
定将奏响奇迹之曲.........



阅读全文
             i386,i586,i686几个概念之区分
这几个数据希望能结合rpm包名称考虑,不然会失去有些文字的表达意义。
i386—几乎所有的x86平台,不论是旧的pentium或者是新的pentium-iv与k7系统cpu,都可以正常工作,i指得是intel兼容的cpu,至于386就是cpu的等级。
i586—就是586等级的计算机,包括pentium第一代mmx cpu,amd的k5,k6系统cpu(socket7插脚)等cpu都是这个等级。
i686—pentium 2 以后的intel系统cpu及k7以后等级的cpu都属于这个686等级。
noarch—代表跟硬件体系结构无关。不管是 x86、powerpc,sparc 或者 alpha 系统。
本贴来自天极网群乐社区--http://q.yesky.com/group/review-17826846.html

/usr/ports/misc/cpuid下:
sudo make install clean
后,安装成功后,如何删除此软件呢?因为并没有看到温度。
cd /usr/ports/misc/cpuid
sudo make deinstall

安装Ports成功步骤:



portsnap fetch update.  #https://blog.csdn.net/richardfjf/article/details/106961150
You must run 'portsnap extract' before running 'portsnap update'.

/usr/ports/x11/yeahconsole/
mkdir: /usr/ports/x11: No space left on device
tar: could not chdir to '/usr/ports/x11/yeahconsole/'



1、如何只抓取 tarball?阅读全文


ZMD推出温度传感器 快速响应时间达到0.8s:
TSic具有快速响应时间(63%温度范围内为0.8s,采用SOP-8或e-line封装),3s之内可精确测出水温。用户定制的TSic COF器件测试周期仅为4ms。



http://www.mikrocontroller.net/attachment/27605/tsic.c

德国资料:
TSic 506 FeatureSheet
TSic 506 DataSheet
http://www.zmdi.com/index.php?id=127&L=4


阅读全文
秒的时间转年月日,及年月日转秒的方法互转:
一:PHP date函数参数详解,把时间年月日,变月日年的示例:


二:时间由秒转换成年月日,时分秒的方法:

阅读全文
Google是与众不同的。它的独特不仅仅表现于革新的思维和充满创意的应用 (比如那个大堂里的地球模型),更在于其有别常规的IT策略……

  加利福尼亚州山景城(Mountain View)Google公司(Google,下称Google)总部有一个43号大楼,该建筑的中央大屏幕上显示着一个与Google地球(Google Earth)相仿的世界地图,一个转动的地球上不停地闪动着五颜六色的光点,恍如罗马宫廷的千万烛灯,每一次闪动标志着地球的这个角落一名Google用户发起了一次新的搜索。

  这同时意味着Google又一次满足了人们对未知信息的好奇与渴望。阅读全文
1 简介
2 内容
2.1 关键在GDP质量而非数量
2.2 欠我8000亿美元国债怎样还
2.3 能否摆脱下一场战争劫难
3 作者简介

摘要:
《2030肢解中国-美国全球战略与中国危机》 是空军一个研究现代战争和政工的一个干部戴旭研究员在解放军国际关系学院做的一个内部演讲,全长2个半小时。是给军队高层和经济学高层决策者进谏言的,演讲中有的话应该给我们国人敲响警钟。

http://bbs.wuqingba.com/thread-4826-1-1.html
http://www.tudou.com/playlist/playindex.do?lid=8058291&iid=46717333&cid=99
文字版本:http://wenku.baidu.com/view/a14ff821dd36a32d737581f5.html
让我感悟到:就像十月围城里面胡军说的那句话:帝国主义全是狼子野心!值得思考。。。




阅读全文

symfony框架

WEB2.0 jackxiang 2010-3-19 13:13
这个框架看似有自己的独到的地方,譬如:Symfony的路由系统是比较不错的!
这个路由在对搜索引擎来说是有很多的好处,而结构和层次上要分明和清楚一些,我们完全可以借鉴它的精华
书籍:http://youa.baidu.com/item/a20ceb130b33b2eada61c10f

symfony

目录[隐藏]

    概况
    什么是框架(framework)?
    什么是symfony?
    symfony适合我吗?

阅读全文
Linux 下串口终端,默认是字符界面minicom.这个软件优点是REHL自带,缺点也不少。一是在在LINUX桌面版下,对于嵌入式初学者,容易与字符终端搞混,。二是界面分隔不明显,如解释给开发板传送文件,不太容易看出是怎么进行。而在WINDOWS下,用超级终端就分隔的很明显,学生一操作就明白,三是与开发板有一些不太兼容,比如在某一个开发板上,发现光标经常丢失,这样造成使用上极为不方便,因此后我也就找到一款图形界面串口终端,gtkterm来代替minicom



gtkterm的使用说明

下载
http://www.jls-info.com/julien/linux/
最新版本是 http://www.jls-info.com/julien/linux/gtkterm-0.99.5.tar.gz
在RHEL5上它需要  libiconv库和libvte 0.10.以上库
这个是典型的configure & make & make install项目
1.安装libiconv
2.安装VTE,否则报相应的库找不到,RHEL自带光盘带了安装文件,但是默认开发库找不到。
checking   for   pkg-config...   /usr/bin/pkg-config  
  checking   pkg-config   is   at   least   version   0.10.4...   yes  
  checking   for   TERMINAL_WIDGET...   Package   vte   was   not   found   in   the   pkg-config   search   path.  
  Perhaps   you   should   add   the   directory   containing   `vte.pc'  
  to   the   PKG_CONFIG_PATH   environment   variable  
  No   package   'vte'   found  
  configure:   error:   Package   requirements   (vte   >=   0.10.4)   were   not   met.  
  Consider   adjusting   the   PKG_CONFIG_PATH   environment   variable   if   you  
  installed   sofchecking   for   pkg-config...   /usr/bin/pkg-config  
  checking   pkg-config   is   at   least   version   0.10.4...   yes  
  checking   for   TERMINAL_WIDGET...   Package   vte   was   not   found   in   the   pkg-config   search   path.  
  Perhaps   you   should   add   the   directory   containing   `vte.pc'  
  to   the   PKG_CONFIG_PATH   environment   variable  
  No   package   'vte'   found  
  configure:   error:   Package   requirements   (vte   >=   0.10.4)   were   not   met.  
  Consider   adjusting   the   PKG_CONFIG_PATH   environment   variable   if   you  
  installed   software   in   a   non-standard   prefix.  
      
  Alternatively   you   may   set   the   TERMINAL_WIDGET_CFLAGS   and   TERMINAL_WIDGET_LIBS   environment   variables  
  to   avoid   the   need   to   call   pkg-config.     See   the   pkg-config   man   page   for  
  more   details.  
tware   in   a   non-standard   prefix.  
      
  Alternatively   you   may   set   the   TERMINAL_WIDGET_CFLAGS   and   TERMINAL_WIDGET_LIBS   environment   variables  
  to   avoid   the   need   to   call   pkg-config.     See   the   pkg-config   man   page   for  
  more   details.  



安装库文件,
   [root@rhel5 Server]# rpm -ivh vte-0.14.0-2.el5.i386.rpm
warning: vte-0.14.0-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
        package vte-0.14.0-2.el5 is already installed
[root@rhel5 Server]# rpm -ivh vte-devel-0.14.0-2.el5.i386.rpm
warning: vte-devel-0.14.0-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:vte-devel              ########################################### [100%]
[root@rhel5 Server]#    

3.生成make ,注意要把链接iconv库的语句加入,否则链接时找不到。
   LDFLAGS=-liconv ./configure #生成Makefile,如果提示缺省的C找不到,可以先执行一次./configure后再执行上述语句
4.编译,安装 make & make install



安装后执行 gtkterm. 进行图形界面配置即可
来源:http://blog.chinaunix.net/u3/105675/showart_2108697.html
1.不买任何带有明显LOGO的东西,比如LV的Monogram。
2.一万元以内的奢侈品,可以买,但不可以绷(炫耀)。
3.总和你玩在一起的朋友一定不会是能提携你的贵人。
4.就算月挣3000,房租(贷)2000,但该请客的时候也决不含糊。
5.与人交友,两种东西不可赖:酒与钱。
6.只要是在自己的承受范围内,别人爱怎么占便宜就怎么占吧。
7.送朋友礼物一定要大方一点。
8.对于自己买不起的东西,就不要经常挂在嘴边,写进文里了——好象自己已经在用了一样。阅读全文
先列举几个实事:国内大学课程中,C程序设计已被列为公共基础课;C和C++目前以27.0%的总和位居计算机语言排行榜榜首;各种著名的算法通常都以C语言描述作为标准;开源操作系统 Linux 2.6 内核源代码接近600万行,其中99%以上的代码是用C写的。

C是一种结构化的、面向过程的高级编程语言,C是最能让你理解计算机程序运行原理的高级语言,它最贴近于汇编,跨平台性好,系统级别的程序设计都离不开C语言,比如Linux内核和驱动程序99%以上的代码是C写的!在没有高级语言的日子里,前辈们使用汇编代码操纵机器指令,繁琐的助记符和杂乱的结构给程序的编写和调试带来了极大的麻烦,更重要的是汇编程序是高度依赖于具体CPU的,换一个平台代码就要全部重写一次。人们设想能否以一种直观的、结构化的表现手段来描述头脑中的编程想法,然后由计算机来“翻译”成机器指令?——C语言的发明使这一想法成为了现实,这里不得不提两个人: Ken Thompson 和 Dennis Ritchie (K&R),二人在开发UNIX时发明了C语言 ——从此,人们编程可以不必关心计算机的运行细节,而把重点放到程序的功能和结构的设计上,C语言的出现也第一次真正将结构化编程概念变为现实,结构化带来了模块化,模块化使分工协作成为可能,分工协作则带来了软件的产业化!这正是C经历了30多年仍保持旺盛生命力的原因之一。

C语言贴近于汇编,几乎每句C程序都与若干条相对固定的汇编指令相对应。据统计,优秀的C编译器编译出的程序仅比相应的汇编代码写出的程序平均略大约10%,略慢约10%。C的指针保留了汇编的部分特性,这使得C/C++成为了唯一能够直接操作内存的高级语言,在提供高级语言方便性性的同时最大限度地保留了底层硬件提供的基本功能,在结构性和灵活性之间取得最佳平衡点!因此,C语言应该和某一种平台的汇编结合起来学习,从计算机运行原理和程序设计两个层面充分理解C语言,才能达到最好的学习效果!

现在很多人推崇C++,没错,面向对象是计算机编程继结构化之后最伟大的革命,C++面向对象的概念给我们编程带来了极大的方便,但在选择使用C++之前至少应理解什么是“面向对象”,其次,要明白C++比C的优势在哪里,劣势或不足在哪里。我个人非常不屑“为了多学一门语言、为了追求面向对象时髦而学C++”的想法,很多人仅仅学了C++表面的东西却说自己学会C++了,然而问其什么是多态、什么是重载、虚函数的作用却支吾半天说不上来。不要忘了,面向对象是以面向过程为基础的,更确切的说C++完全包含了C!所以说,一方面学习C++一定要以C为基础,而且是扎实的C编程基本功!以C的基础来学C++会事半功倍!另一方面要根据需要来决定使用结构化(C)还是面向对象(C++),如果C完全能胜任就没必要使用C++,实事证明,C++编译出的程序要比C大一些、慢一些,而且C++的跨平台性不如C好。说到面向对象编程,其实C的结构体就有面向对象的概念的雏形,Linux内核中很多代码都是用结构体(struct)封装的数据结构,有与各结构体相对应的处理函数,结构紧凑,设计十分巧妙,可以说是用C实现的“面向对象”编程。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/rssn_net/archive/2008/09/07/2893935.aspx

http://blog.csdn.net/rssn_net/archive/2008/09/07/2893935.aspx
中国企业喜欢这么搞:某人甲从A公司离职,创办了一家B公司。
有一天A公司状告B公司商业侵权,法院说你凭什么说B侵权,A公司说你看他们的源代码就知道了!
于是公安查封了B公司,拘留了某人甲,然后把B公司的所有服务器、硬盘送到A公司,供A公司取证。
半年之后,案子有了结果:A公司因证据不足撤诉,某人甲被无罪释放。B公司倒闭。。。

分页: 194/339 第一页 上页 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 下页 最后页 [ 显示模式: 摘要 | 列表 ]