易截截图软件、单文件、免安装、纯绿色、仅160KB

linux下的端口扫描技术!

这个是我在一本书上看到的,其中的一些代码我有所改变,写给各位好友共享一下!
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include "my_recv.h" // 自定义的头文件
#define SERV_PORT  4507 // 服务器端的端口
#define LISTENQ   12 // 连接请求队列的最大长度
#define INVALID_USERINFO 'n' // 用户信息无效
#define VALID_USERINFO  'y' // 用户信息有效
#define USERNAME  0 // 接收到的是用户名
#define PASSWORD  1 // 接收到的是密码
struct userinfo {   // 保存用户名和密码的结构体
 char username[32];
 char password[32];
};
struct userinfo users[ ] = {
 {"linux", "unix"},
 {"4507", "4508"},
 {"clh", "clh"},
 {"xl", "xl"},
 {" "," "}     // 以只含一个空格的字符串作为数组的结束标志
};
// 查找用户名是否存在,存在返回该用户名的下标,不存在则返回-1,出错返回-2
int find_name(const char *name)
{
 int i;
 
 if (name == NULL) {
  printf("in find_name, NULL pointer");
  return -2;
 }
 for (i=0; users[i].username[0] != ' ';i++) {
  if (strcmp(users[i].username, name) == 0) {
   return i;
  }
 }
 return -1;
}
// 发送数据
void send_data(int conn_fd, const char *string)
{
 if (send(conn_fd, string, strlen(string), 0) < 0) {
  my_err("send", __LINE__);  // my_err函数在my_recv.h中声明
 }
}
int main()
{
 int   sock_fd, conn_fd;
 int   optval;
 int   flag_recv = USERNAME; // 标识接收到的是用户还是密码
 int   ret;
 int   name_num;
 pid_t   pid;
 socklen_t&


相关文档:

Linux中时间戳转换命令

原文地址:http://wanping.blogbus.com/logs/28663569.html
1、时间戳转换为正常显示的时间格式
Freebsd
系统下:
转换命令为:
date -r 1112173761     或者:date -r 1112173761 +"%Y-%m-%d %T %z"(年月日的格式不一样)
Linux
系统下:
转换命令:date -d '1970-01-01 UTC 11121 ......

linux查看分区,文件夹,文件大小

接触linux时间还不是很长,很多命令记不住,呵呵,拿到新服务器看下硬盘分区 $df –lh 文件系统              容量  已用 可用 已用% 挂载点
/dev/sda1             2.0G ......

linux ulimit max open files

有时候在程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。
修改办法:
重启就OK
修改2个文件。
1./etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 8192
* hard nofile 20480
2./etc/pam.d/l ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号