epoll 是 Linux 系统中常用的多路复用 I/O 组件,一般用于监听 socket 是否能够进行 I/O 操作。那么,epoll 能监听普通文件吗?
我们先通过下面的例子来验证一下,epoll 能不能监听普通文件:
int(){intepfd,fd;structepoll_eventev,events[2];intresult;epfd=epoll_create(10);(epfd"epoll_create()");-1;}fd=open(,O_RDONLY|O_CREAT);(fd"open()");-1;}ev.events=EPOLLIN;result=epoll_ctl(epfd,EPOLL_CTL_ADD,fd,&ev);(result"epoll_ctl()");-1;}epoll_wait(epfd,events,2,-1);0;}
编译并且运行,结果如下:
[vagrant@localhostepoll]$gccepoll.c-oepoll[vagrant@localhostepoll]$./epollepoll_ctl():Operationnotpermitted
可以看到上面的运行结果报 Operation not permitted 的错误,这说明 epoll 是不能监听普通文件的,为什么呢?
我们应该对追寻真相抱着热衷的态度,所以必须找出 epoll 不能监听普通文件的原因。

因为在上面的例子中,是 epoll_ctl 函数报的错,所以我们首先应该从 epoll_ctl 的源码入手,如下:
SYSCALL_DeFiNE4(epoll_ctl,int,epfd,int,op,int,fd,structepoll_event__user*,event){interror;structfile*file,*tfile;...error=-EBADF;file=fget(epfd);//epoll句柄对应的文件对象(!file)gotoerror_return;tfile=fget(fd);//被监听的文件句柄对应的文件对象(!tfile)gotoerror_fput;error=-EPERM;//Operationnotpermitted错误号(!tfile->f_op||!tfile->f_op->poll)gotoerror_tgt_fput;...error_tgt_fput:fput(tfile);error_fput:fput(file);error_return:error;}
从上面代码可以看出,当被监听的文件没有提供 poll 接口时,就会返回 EPERM 的错误,这个错误就是 Operation not permitted 的错误号。
所以,出现 Operation not permitted 的原因就是:被监听的文件没有提供 poll 接口。
由于我们的文件系统是 ext4,所以我们来看看 ext4 文件系统中的文件是否提供了 poll 接口(位于文件 /fs/ext4/file.c 中):
conststructfile_operationsext4_file_operations={.llseek=generic_file_llseek,.=do_sync_read,.write=do_sync_write,.aio_read=generic_file_aio_read,.aio_write=ext4_file_write,.unlocked_ioctl=ext4_ioctl,.mmap=ext4_file_mmap,.open=ext4_file_open,.release=ext4_release_file,.fsync=ext4_sync_file,.SPLice_read=generic_file_splice_read,.splice_write=generic_file_splice_write,;
ext4 文件的文件操作函数集被设置为 ext4_file_operations(也说就是:file->f_op = ext4_file_operations),从上面代码可以看出,ext4_file_operations 并没有提供 poll 接口。所以,当调用 epoll_ctl 把文件添加到 epoll 中进行监听时,就会返回 Operation not permitted 的错误。
从上面的分析可知,当文件系统提供 poll 接口时,就可以把文件添加到 epoll 中进行监听。
计算机黑客
提起黑客,总是那么神秘莫测。 在人们眼中,黑客是一群聪明绝顶,精力旺盛的年轻人,一门心思地破译各种密码,以便偷偷地、未经允许地打入政府、企业或他人的计算机系统,窥视他人的隐私。 那么,什么是黑客呢?黑客(hacker),源于英语动词hack,意为“劈,砍”,引申为“干了一件非常漂亮的工作”。 在早期麻省理工学院的校园俚语中,“黑客”则有“恶作剧”之意,尤指手法巧妙、技术高明的恶作剧。 在日本《新黑客词典》中,对黑客的定义是“喜欢探索软件程序奥秘,并从中增长了其个人才干的人。 他们不象绝大多数电脑使用者那样,只规规矩矩地了解别人指定了解的狭小部分知识。 ”由这些定义中,我们还看不出太贬义的意味。 他们通常具有硬件和软件的高级知识,并有能力通过创新的方法剖析系统。 “黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。 另一种入侵者是那些利用网络漏洞破坏网络的人。 他们往往做一些重复的工作(如用暴力法破解口令),他们也具备广泛的电脑知识,但与黑客不同的是他们以破坏为目的。 这些群体成为“骇客”。 当然还有一种人兼于黑客与入侵者之间。 一般认为,黑客起源于50年代麻省理工学院的实验室中,他们精力充沛,热衷于解决难题。 60、70年代,“黑客”一词极富褒义,用于指代那些独立思考、奉公守法的计算机迷,他们智力超群,对电脑全身心投入,从事黑客活动意味着对计算机的最大潜力进行智力上的自由探索,为电脑技术的发展做出了巨大贡献。 正是这些黑客,倡导了一场个人计算机革命,倡导了现行的计算机开放式体系结构,打破了以往计算机技术只掌握在少数人手里的局面,开了个人计算机的先河,提出了“计算机为人民所用”的观点,他们是电脑发展史上的英雄。 现在黑客使用的侵入计算机系统的基本技巧,例如破解口令(password cracking),开天窗(trapdoor),走后门(backdoor),安放特洛伊木马(Trojan horse)等,都是在这一时期发明的。 从事黑客活动的经历,成为后来许多计算机业巨子简历上不可或缺的一部分。 例如,苹果公司创始人之一乔布斯就是一个典型的例子。 在60年代,计算机的使用还远未普及,还没有多少存储重要信息的数据库,也谈不上黑客对数据的非法拷贝等问题。 到了80、90年代,计算机越来越重要,大型数据库也越来越多,同时,信息越来越集中在少数人的手里。 这样一场新时期的“圈地运动”引起了黑客们的极大反感。 黑客认为,信息应共享而不应被少数人所垄断,于是将注意力转移到涉及各种机密的信息数据库上。 而这时,电脑化空间已私有化,成为个人拥有的财产,社会不能再对黑客行为放任不管,而必须采取行动,利用法律等手段来进行控制。 黑客活动受到了空前的打击。 但是,政府和公司的管理者现在越来越多地要求黑客传授给他们有关电脑安全的知识。 许多公司和政府机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的保安规程。 在两名黑客连续发现网景公司设计的信用卡购物程序的缺陷并向商界发出公告之后,网景修正了缺陷并宣布举办名为“网景缺陷大奖赛”的竞赛,那些发现和找到该公司产品中安全漏洞的黑客可获1000美元奖金。 无疑黑客正在对电脑防护技术的发展作出贡献。 2,黑客攻击一些黑客往往回采取一些几种方法,但是我很想说的是,一个优秀的黑客绝不会随便攻击别人的。 1)、获取口令这又有三种方法:一是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;二是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但黑客要有足够的耐心和时间;三是在获得一个服务器上的用户口令文件(此文件成为Shadow文件)后,用暴力破解程序破解用户口令,该方法的使用前提是黑客获得口令的Shadow文件。 此方法在所有方法中危害最大,因为它不需要像第二种方法那样一遍又一遍地尝试登录服务器,而是在本地将加密后的口令与Shadow文件中的口令相比较就能非常容易地破获用户密码,尤其对那些弱智用户(指口令安全系数极低的用户,如某用户账号为zys,其口令就是zys666、、或干脆就是zys等)更是在短短的一两分钟内,甚至几十秒内就可以将其干掉。 2)、放置特洛伊木马程序特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在windows启动时悄悄执行的程序。 当您连接到因特网上时,这个程序就会通知黑客,来报告您的IP地址以及预先设定的端口。 黑客在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改您的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。 3)、WWW的欺骗技术在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。 然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。 4)、电子邮件攻击电子邮件攻击主要表现为两种方式:一是电子邮件轰炸和电子邮件“滚雪球”,也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被“炸”,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;二是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序(据笔者所知,某些单位的网络管理员有定期给用户免费发送防火墙升级程序的义务,这为黑客成功地利用该方法提供了可乘之机),这类欺骗只要用户提高警惕,一般危害性不是太大。 5)、通过一个节点来攻击其他节点黑客在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。 他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。 这类攻击很狡猾,但由于某些技术很难掌握,如IP欺骗,因此较少被黑客使用。 6)、网络监听网络监听是主机的一种工作模式,在这种模式下,主机可以接受到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接受方是谁。 此时,如果两台主机进行通信的信息没有加密,只要使用某些网络监听工具,例如NetXray for windows 95/98/nt,sniffit for linux 、solaries等就可以轻而易举地截取包括口令和帐号在内的信息资料。 虽然网络监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。 7)、寻找系统漏洞许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,win98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你将网线拔掉;还有一些漏洞是由于系统管理员配置错误引起的,如在网络文件系统中,将目录和文件以可写的方式调出,将未加Shadow的用户密码文件以明码方式存放在某一目录下,这都会给黑客带来可乘之机,应及时加以修正。 8)、利用帐号进行攻击有的黑客会利用操作系统提供的缺省账户和密码进行攻击,例如许多UNIX主机都有FTP和Guest等缺省账户(其密码和账户名同名),有的甚至没有口令。 黑客用Unix操作系统提供的命令如Finger和Ruser等收集信息,不断提高自己的攻击能力。 这类攻击只要系统管理员提高警惕,将系统提供的缺省账户关掉或提醒无口令用户增加口令一般都能克服。 9)、偷取特权利用各种特洛伊木马程序、后门程序和黑客自己编写的导致缓冲区溢出的程序进行攻击,前者可使黑客非法获得对用户机器的完全控制权,后者可使黑客获得超级用户的权限,从而拥有对整个网络的绝对控制权。 这种攻击手段,一旦奏效,危害性极大。
远程控制的原理是什么?
远程监控远程监控是通过网络或者其他方式监控非本地的一切在文中提到的电脑远程监控,是通过一个程序或者是木马 这类合法或者是不合法程序进行后台或者是前台监听。 在一般不设防的情况下 能监控到的是你硬盘里的数据 系统注册表 以及鼠标键盘的动作(盗QQ号和游戏账号就用得到)系统进程等等有些无聊的人会通过远程监控盗窃你的电脑里的数据加强安全意识 避免自己的电脑被别人岛用和监控。 装安全防火墙,然后记得每个用户都设置比较复杂的密码。 关闭默认共享 关闭远处注册表修改服务 打上安全补丁 关闭计划任务 不去那些不认识的网站。 能做到以上基本上也就很难被远程监控了。 至于你说到什么看到你家里的一切 。 这个是不可能的 除非你有摄像头 也就是硬件支持 那么有可能能够监控到你家里的情况 但是我想还不会有这么无聊的人看你家里是什么样的。
666车辆GPS定位系统的功能?
666车辆GPS定位系统的功能:
1、定位功能:GPS实现卫星定位后,以GPRS或GSM将监控目标的经纬度、速度、方位、海拔高度数据发回监控中心;
2、遇劫报警功能:在遇到车匪路霸时,只要启动隐蔽安装在驾驶室内的报警按钮,车载系统就会自动向监控中心发送报警信号,直至收到监控中心应答为止;
3、跟踪功能:在车辆被盗、抢劫后,监控中心能自动跟踪报警车辆;
4、电召调度功能:(需外配显示器)司机可以通过显示器进行与管理中心进行信息交互;
5、遥控熄火功能:在对被劫持的车辆进行营救的过程中,监控中心可以根据营救的需要遥控车辆强行熄火,系统设有双保险,设备故障不会造成意外熄火;
6、电子围栏功能:系统可预先设置车辆行驶范围,超出该范围系统会自动向中心报警,车辆自动语音提示和图标显示越界。方便公司、企业对内部车辆的管理;
7、轨迹记录及回放:管理中心可以随时查询车辆的运行轨迹;
8、主电源低压报警功能:电瓶低压或遇到意外掉电系统自动报警;
9、授权监听:在出现紧急情况时中心可以对该车进行语音监听;
10、超速报警功能:系统可预先设置车辆行驶的最大速度,超过该速度系统会自动向中心报警 ; 11、空/重车检测:空车与装载车的检测;
12、出城自动登记:自定行使区域,超出界线会自动报警;
发表评论