![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LinuX
文章平均质量分 59
cyberhero
这个作者很懒,什么都没留下…
展开
-
wget命令使用方法
wget手册 wget命令使用方法wget 使用指南wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省转载 2009-07-22 13:52:00 · 511 阅读 · 0 评论 -
setsockopt()选项改善程序的健壮性
<br />setsockopt()选项改善程序的健壮性<br /><br />1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用<br />closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:<br />BOOL bReuseaddr=TRUE;<br />setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(constchar*)&bReuseaddr转载 2010-06-03 10:03:00 · 418 阅读 · 0 评论 -
linux下的sniff
以前写过win32下面简单的sniff, 今天突然试试在linux下抓取http包。发现linux下与win32下有很大的不同点。下面简单总结一下:1.win下必须wsastartup,Linux直接使用2.win下不需要指定对某个网卡进行监控,linux下须指定你想要用到的网站名称3.win下使用ioctlsocket把网卡设置成混杂模式,而linux下则通过ioctl函数设置4.虽然我们收到的包就是RAW形式的,但在win下面是从ip层开始,Linux是从ether层开始的。好了,帖出我实验中的源码:#原创 2010-08-03 14:32:00 · 2979 阅读 · 0 评论 -
Linux 常shell (SUSE)
<br />改变Hostname<br /># sysctl -w kernel.hostname=linuxserv1原创 2010-08-03 16:25:00 · 707 阅读 · 0 评论 -
怎么写一个简单的守护进程
本以为在程序名后面加上&让程序在后台运行,可以像守护进程那样,可是事情不会那么简单。因为这样,你的进程和console还是强相关的,退出console时,你的进程也就结束了。当然通过简单的修改代码,可以做到真正守护进程。 int i = 0; int pid = 0; if( pid = fork()) { exit(0); } else if( pid原创 2010-08-04 16:35:00 · 1371 阅读 · 0 评论 -
PCAP网络编程
前段时间项目用过pcap做网络编程,主要做的是截包,发包等。以前想过用SOCKET_RAW,但是socket比pcap的报文要少一层。好,下面开始记笔记 :pcap_if_t * alldevs;pcap_findalldevs(&alldevs,szErrbuf)原创 2010-08-18 14:57:00 · 1132 阅读 · 0 评论 -
TCP建立及关闭过程
1、建立连接协议(三次握手) (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1. (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。 (3) 客户必须再次回应服务段一个ACK报文,这是报文段3.2、连接终止协议(四次握手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发转载 2010-08-20 17:06:00 · 4024 阅读 · 0 评论 -
SOCKET 一方中断导致进程死掉的解决方案
<br />当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据 时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出), 所以client会退出。<br />若不想客户端退出可以把 SIGPIPE设为SIG_IGN<br />如: signal(SIGPIPE,SIG_IGN);<br转载 2010-08-24 18:18:00 · 1978 阅读 · 0 评论 -
FTP错误码列表
<br />421错误 <br />原因:同时连接该ftp的人数过多,一般ftp网站都有同时登陆人数的上限,超过该上限就会出现421错误。 <br />解决办法:在ftp软件中,把重试次数改为999,重试间隔改为60秒,一般几分钟到半小时就会连上,要注意的是,有些网站有连接时间的设定,连上后,超过一定时间不下载,就会自动断开,所以要经常去看看有没有连上。 <br /><br />530“not login" <br />原因:用户名或密码错误,有些网站每隔一段时间就要修改密码,导致原来的密码转载 2010-08-25 11:38:00 · 3085 阅读 · 0 评论 -
5种开源协议比较
BSD开源协议<br />BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。<br />但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。不可以用开源代码的作者/机构名转载 2010-08-27 16:53:00 · 471 阅读 · 0 评论 -
关于PHP自定义扩展加载的问题
最近项目需求,需要自己开发一个PHP扩展。在WIN32下载编译成功,可以在加载过程老是出问题。自己疏忽没有看准问题所在,造成这个问题托了好几天:PHP Warning: PHP Startup: ****:Unable to initialize moduleModule compiled with build ID=API20090626,TS VC6PHP compiled with build ID=API20090626,TS,VC9由于扩展我是用VC6编译的,PHP是用VC9编译的原创 2010-10-26 15:39:00 · 3563 阅读 · 0 评论 -
在linux下挂载WINDOWS共享
<br /> mount -t cifs -o username=user,password=1 //172.16.1.51/iwebcompass/ /mnt/www/原创 2010-12-21 17:27:00 · 557 阅读 · 0 评论 -
LINUX SHELL脚本笔记
<br />1.将下面的内容格式化<br />1 2 3 <br />4 5 6 <br />7 8 9 <br />为<br />1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />==<br />方法<br />1.awk 'BEGIN{RS="/n| "}{print $0}' file<br />2.cat 2.txt | tr ' ' '/n'<br />3.awk 'gsub(" "原创 2010-12-26 16:13:00 · 496 阅读 · 0 评论 -
SUSE下开启NFS服务
<br />1, 确保已安装NFS<br />2,对服务器配置<br /> /etc/exports文件<br /> /var/data/dev_data/ *(rw,root_squash,sync,no_subtree_check)<br /> 其中*是通配置符<br /> * 可以为172.16.2.*<br />3,开启服务<br /> /etc/rc.d/nfs start<br />4,在客户机上连接NFS<br /> mount -t nfs 172.16.1.2:原创 2011-01-19 15:44:00 · 3441 阅读 · 0 评论 -
【转】NFS服务器的安装
一、NFS服务器的安装 检查linux系统中是否安装了nfs-utils和portmap两个软件包 (RHEL4系统默认已经安装了这两个软件包) 命令#rpm –q nfs-utils portmap 二、查看NFS服务器是否启动 命令#service nfs starus #service portmap status 三、如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启) 命令#service nfs start #service portm转载 2011-01-21 23:12:00 · 574 阅读 · 0 评论 -
SOCKET操作函数
<br />1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:<br />BOOL bReuseaddr=TRUE;<br />setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));<br />2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历<br />TIME_WAIT的过程:<br />BOOL bDontLing转载 2011-05-18 11:56:00 · 738 阅读 · 0 评论 -
HTACCESS子域名的设置
RewriteCond %{HTTP_HOST} ^www.sharemoney.com$ [NC]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /sharemoney/$1 RewriteRule ^$ /sharemoney/原创 2011-05-20 16:05:00 · 768 阅读 · 0 评论 -
Linux环境把Mysql和Apache加入到系统服务里面
<br /><br />MySql加入到系统服务里面<br />cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql <br />#把msql的脚本文件拷到系统的启动目录下<br />cd /etc/init.d/<br />chkconfig --add mysql #将mysql加到启动服务列表里<br />chkconfig mysql on转载 2011-05-31 12:09:00 · 621 阅读 · 0 评论 -
linux网络编程函数解析(1)--setsockopt(
setsockopt()选项改善程序的健壮性1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(constcha转载 2010-03-24 13:42:00 · 1347 阅读 · 0 评论 -
poll 和 select
poll 和 select使用非阻塞 I/O 的应用程序常常使用 poll, select, 和 epoll 系统调用. poll, select 和epoll 本质上有相同的功能: 每个允许一个进程来决定它是否可读或者写一个或多个文件而不阻塞.这些调用也可阻塞进程直到任何一个给定集合的文件描述符可用来读或写. 因此, 它们常常用在必须使用多输入输出流的应用程序,而不必粘连在它们任转载 2010-01-05 16:22:00 · 730 阅读 · 0 评论 -
linux cut 命令
一个非常有用的命令,主要用来提取各种各样的数据。cut -cchars file如: -c5 提取第5个字符 -c5- 提取第5个字符以后的字符 -c1,5,12 提取多个字符,中间用“,”符号隔开 -c5-14 提取第5个字符到第14个字符间的字符http://gan.cublog.cn[ser转载 2010-02-25 12:14:00 · 2111 阅读 · 0 评论 -
正则表达式全部符号解释
字符 描述/ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,n 匹配字符 "n"。/n 匹配一个换行符。序列 // 匹配 "/" 而 "/(" 则匹配 "("。^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 /n 或 /r 之后的位转载 2009-07-29 10:46:00 · 448 阅读 · 0 评论 -
常用正则表达式
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [/u4e00-/u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^/x00-/xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:/n/s*/r转载 2009-07-29 10:51:00 · 348 阅读 · 0 评论 -
Linux 维护常用命令
1、查看某文件的一部分如果你只想看文件的前 5 行,可以使用 head 命令, 如:head -5 /etc/passwd 如果你想查看文件的后 10 行,可以使用 tail 命令, 如:tail -10 /etc/passwd 查看文件中间一段,可以使用 sed 命令 如:sed –n 5,10p /etc/passwd 这样你就可以只查看文件的第 5 行到第转载 2009-07-29 10:59:00 · 1639 阅读 · 0 评论 -
linux查看系统版本信息
1. uname -a 2. cat /proc/version 3. cat /etc/issue 4. lsb_release -a原创 2009-09-10 17:28:00 · 284 阅读 · 0 评论 -
shell 编程
sed:只打印第二行,用-n sed -n 2p quote.txt假定要匹配单词14,并打印此行,sed -n /14/p sed.txt echo $BASH_VERSION原创 2009-09-14 18:11:00 · 384 阅读 · 0 评论 -
Linux 命令
++查看硬盘使用情况df –m ++查看目录的大小du –sh dirname ++显示内存使用情况free –m ++端口的详细列表/etc/services ++显示最后一个登录到系统的用户last ++查看硬盘的使用情况df -k 以K为单位显示df -h 以人性化单位显示,可以是b,k,m,g,t.原创 2009-09-22 11:03:00 · 295 阅读 · 0 评论 -
AWK 学习1
test.datdata11 data12 data13 data14 data21 data22 data23 data24 data31 data32 data33 data44 data41 data42 data43 data44 $ awk {print $1,$3} test.dat打印出1,3列 $ awk {print NR,原创 2009-09-22 13:20:00 · 381 阅读 · 0 评论 -
看例子学perl--1
变量:$name = "KENT";print "my name is $name", "/n";print my name is $name, "/n";my name is KENTmy name is $name注:单引号内变量不转译 $c = "ABC";$d = 3;print $c x $d;原创 2009-09-22 14:05:00 · 377 阅读 · 0 评论 -
看例子学perl--2
Hash数组(注:以%开头命名变量)%fruit = ("red", "apple", "yellow", "banana", "purple", "grape");print "$fruit{red}/n";apple注:$fruit{red}函数原创 2009-09-22 14:22:00 · 376 阅读 · 0 评论 -
看例子学perl--3
表达式: 構文意味if ( 文字列 =~ /pattern/)「文字列」与「pattern」匹配if ( 文字列 !~ /pattern/)与上相反 文字 意味/转义^开头.任原创 2009-09-22 17:00:00 · 600 阅读 · 0 评论 -
Linux创建一定大小文件命令--dd
dd命令 把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法: CODE:[Copy to clipboard]dd 〔选项〕 QUOTE: if =输入文件(或设备名称)。 of =输出文件(或设备名称)。 ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 skip = blocks 跳过读入缓冲转载 2009-09-24 11:36:00 · 536 阅读 · 0 评论 -
Perl 学习之文件操作
例:创建文件 test.txt内容如下: The Rock|Cheer|Rock BottomTriple H|Boo|PedigreeStone Cold|Cheer|Stone Cold Stunner我们通过下面的代码就能简单的打开文,打印文件: $data_file="test.txt";open(DAT, $data原创 2009-09-25 14:35:00 · 615 阅读 · 0 评论 -
shell 精典总结
ls -alR TMPDIR |awk {if(NF>2&&substr($1,1,1)!="d")print $0}|wc -l目录+子目录中的文件数量 watch -n 1 -d "/sbin/ifconfig eth0 | grep bytes" 监控网络流量-n fresh time ldconfig -v查看库的关联 sed s/[a原创 2009-09-25 17:11:00 · 448 阅读 · 0 评论 -
Linux下飞信
#!/bin/sh # define default value URL=https://fetionapi.appspot.com/api/ # your phone number FROM=13600000000 # your fetion password PW=pass转载 2009-10-17 11:30:00 · 430 阅读 · 0 评论 -
SUSE 9 一些常用配置文件
/proc/sudo SuSEfirewall2 stop 登陆启动/etc/bash.bashrcif [ $USER = "steven" ]; then cd /mnt/hgfs/ cd release clear ./shellaaaa cd / exitfi原创 2009-10-26 15:53:00 · 556 阅读 · 0 评论 -
AWK 学习2
1: 在输入内容中,如果分隔不是空格,需要指定如: awk -F":" { print $1 } /etc/passwd -F":" 在AWK脚本中,方法如下: BEGIN { FS=":"}{ print $1 } 2: 在多记录中 BEGIN { FS="/n" 分隔符 RS="" OFS=", " 打印后的分隔符原创 2009-11-10 10:41:00 · 372 阅读 · 0 评论 -
【转】grep正则表达式
要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。$ ls -l | grep ^a 通过管道过滤ls -l输出的内容,只显示以a开头的行。$ grep test d* 显示所有以d开头的文件中包含test的行。$ grep test aa bb cc 显示在aa,bb,c转载 2009-11-10 11:47:00 · 370 阅读 · 0 评论 -
把自己的程序变成服务[linux]
1.把自己的程序放到指定的目标下,如 /var/virus/, 假设我的程序名为 bigvirus2.添加一个服务脚本, 名为 virus 内容如下:case "$1" in start) # Start daemons. echo -n {1}quot原创 2011-08-09 10:34:05 · 1728 阅读 · 0 评论