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&
相关文档:
一、登陆
1.进入linux
2.用户名: root
3.口令:123456
4.mysql 用户名 root 密码 123456
二、启动mysql与apache服务
1.启动mysq数据库:/usr/local/mysql/bin/./mysqld_safe --user=mysql &
2.停止mysql数据库:/usr/local/mysql/bin/mysqladmin -u root -p shutdown
3.启动apache: /usr/local/apache2/bin/./ap ......
一般来说,目前新版的 Linux 预设可以支持的网络卡芯片组数量已经很完备了,很多网络卡芯片都已经被支持,例如RLT 8139 芯片 ( RealTek 8139 ) 的网络卡所以使用者可以很轻易的设定好他们的网络卡。不过,如果万一不幸核心没有支持该网络卡的话,那么可以透过重新编译核心或者编译网络卡驱动模块 ( Modul ......
引导:
如需获得对 vmlinux 和 zimage 之间区别的极好解释,请在 Alessandro Rubini 编写的“Kernel Configuration: dealing with the unexpected(Linux Magazine)的一文中找到“Booting your kernel”一节。
有关内核、映像和引导过程的更多信息,请阅读中央昆士兰大学(Central Queensland Universit ......
VMware中的RedHat Eneterprise
Linux 5系统时间总比主机的Windows XP慢。即使用date命令设置Linux时间与Windows XP时间一致,Linux的时间仍会逐渐的慢下来。这是很头痛的问题,如果不能解决,当在两个系统间交换文件时,可能会导致编译出现异常。电脑所使用的CPU是Intel Core2 Duo T7250,主频2.0G;而 ......
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
......