iptables

玩了5年的linux,没有给服务器加上防火墙,今天google了一下,整了个东西出来 首先看当前的配置,执行下面命令: [crayon-698f05a014b93304972428/] 输出信息类似于: [crayon-698f05a014b96227770126/] 这表明任何人可以从任何地方访问。 保存iptables规则到文件 建立一个测试iptables文件 [crayon-698f05a014b97146921517/] 在这个文件写入一下简单的规则 [crayon-698f05a014b98142564380/] 这个看起来有点复杂,但是每次看一节,你会发现除了我们允许的端口,其他所有端口都被关闭了。 启用这些新的规则 [crayon-698f05a014b99302465336/] 在看看不同 [crayon-698f05a014b9a247538944/] 你也可以保存这些规则到文件 确保在重启后这些iptables规则生效,建立新文件 [crayon-698f05a014b9b496966906/] 增加如下内容 [crayon-698f05a014b9c440810315/] 这个文件需要可执行 [crayon-698f05a014b9d953866186/] 参考 http://wiki.debian.org/iptables http://www.howtoforge.com/linux_iptables_sarge

什么是LAMP

即Linux、Apache、MySQL和PHP的头文字的缩写。 这些开源软件一起实用可以提供一个WEB服务平台。

个人所得税速算扣除表

个人所得税速算扣除表 级 应纳税所得额(含税) 税率 速算 数 (%) 扣除数(元) 不超过500元的部分 5 0 超过500元至2000元的部分 10 25 超过2000元至5000元的部分 15 125 超过5000元至20000元的部分 20 375 超过20000元至40000元的部分 25 1375 超过40000元至60000元的部分 30 3375 超过60000元至80000元的部分 35 6375 超过80000元至100000元的部分…

金山免费1T网络硬盘

今天突然发现今天推出了免费的1T网络硬盘,看起来是好的,但是多想想问题还是蛮多的。 最主要的就是隐私问题。大家都把资料放到这个网络硬盘以后。那么,金山就可以随意的查看用户文件,各种隐私,商业秘密都不在是秘密。我们11年可能看到更多的门。 希望网友能看清问题本质。还是少用为好。

USB Specification

USB分为3种速度 低速(low-speed) 1.5Mb/s 全速(full-speed) 12Mb/s 数据流类型 控制传输(Control Transfers) 当设备第一次插入时,USB系统软件使用控制数据配置设备。其他驱动程序可以选择使用控制传输实现特殊实现。数据传递是不会丢失的。 大块数据传输(Bulk Data Transfers) 块数据通常包含大量的数据,比如用于打印机或者扫描仪。块数据是连续的。在硬件层使用错误检测和导入有限的重试册数来保证数据交互的可靠性。同时,根据其他总线的活动性,块数据需要占用大量的带宽。 中断数据传输(Interrupt Data Transfers) 无论传输到或者来自一个设备的微小的、有限延时的传输称为中断数据。这些数据可以在任何时间准备传输并且它由USB以不低于设备定义的速度传送。 中断数据通常包含一个或多个字节的事件通知,特性或者坐标。一个中断数据的例子是来自一个定位设备的坐标。尽管没有明确的时间速率,USB必须支持交互数据有应答时间界限。 等时数据传输(Isochronous Data Transfers) 等时数据在产生,传输和消费中是连续的和实时的。等时数据必须以接收的速率传递以保证时间。另外对于传递速率,等时传输可能对传递延时比较敏感。对于等时管道,

Focus油耗统计

2010年7月入手11款Focus,1.8AT。 夏天市区道路一箱油大概450公里,回家高速能跑到600多公里。 入冬后现在能跑400公里多点。目前油耗大概是14个油。 真是费油啊。看来4速的手自一体还是欠缺了点。 看看今年夏天的情况。

如何使用g++链接C库

通常我们会用gcc编译动态链接库给用户使用,而用户则可能使用g++。这样就会有一个问题,链接的时候经常找不到函数。如何解决这个问题呢,我们先看以下为什么找不到。 大家知道,c++是支持函数重载。也就是说,相同名字的函数可以在c++中定义多次,只需要返回值或者函数参数不同即可。 我们分别用g++和gcc编译同一个文件看看其生成的二进制文件。 [crayon-698f05a014d61437680785/] 使用gcc编译后 [crayon-698f05a014d63589953779/] 使用g++编译后 [crayon-698f05a014d64657366912/] 很明显。对于同一个源文件,同一个函数,使用不同的编译器下编译出了不同的结果。gcc编译后还是ScardOpen,而g++编译后变成了_Z9SCardOpenv。而函数的实现则是完全一样的。 因为g++是支持函数名重载的。所以单靠函数名是不能区分不同的函数的,随意它在函数名字的前后都加了一些内容。这就是链接使用不同的编译器编译出来的动态链接库无法找到函数的原因。 如何解决呢。因为C++是在C之后出现的。所以C++可以通过一些选项兼容C语言。我们可以在我们提供给用户的头文件里加入extern “C” {} 解决问题 比如: [crayon-698f05a014d65980540245/] g++发现有extern “C”包含的东西会以C的方式链接,而定义了__cpluspluc则表示如果使用g++编译则定义extern “C”

Ethernet Interface

MII 信号定义 名称 描述 ETHCK Transmit Clock ETX[0:3] 4-bit Transmit Data ETXEN Transmit Enable ETXER Transmit Error ECRS Carrier Sense ECOL Collision Detect ERXDV Data Valid ERXCK Receive Clock ERX[0:3]…