关于网络工程师的面试题有哪些
网络工程师能够从事计算机信息系统的设计、建设、运行和维护工作。下面是我为你整理的网络工程师面试题,希望对你有所帮助!
1、用户名与口令被破解
攻击原理:用户名与口令,往往是黑客们最感兴趣的东西,如果被通过某种方式看到源代码,后果是严重的。
防范技巧:涉及用户名与口令的程序最好封装在服务器端,尽量少在ASP文件里出现,涉及与数据库连接的用户名与口令应给予最小的权限。出现次数多的用户名与口令可以写在一个位置比较隐蔽的包含文件中。如果涉及与数据库连接,在理想状态下只给它以执行存储过程的权限,千万不要直接给予该用户修改、插入、删除记录的权限。
2、验证被绕过
攻击原理:现在需要经过验证的ASP程序大多是在页面头部加一个判断语句,但这还不够,有可能被黑客绕过验证直接进入。
防范技巧:需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
3、inc文件泄露问题
攻击原理:当存在ASP的主页正在制作且没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。
防范技巧:程序员应该在网页发布前对它进行彻底的调试;安全专家则需要加固ASP文件以便外部的用户不能看到它们。首先对inc文件内容进行加密,其次也可以使用asp文件代替inc文件使用户无法从浏览器直接观看文件的源代码。inc文件的文件名不要使用系统默认的或者有特殊含义容易被用户猜测到的名称,尽量使用无规则的英文字母。
4、自动备份被下载
攻击原理:在有些编辑ASP程序的工具中,当创建或者修改一个ASP文件时,编辑器自动创建一个备份文件,比如:UltraEdit就会备份一个bak文件,如你创建或者修改了someasp,编辑器会自动生成一个叫 someaspbak文件,如果你没有删除这个bak文件,攻击者可以直接下载someaspbak文件,这样someasp的源程序就会被下载。
防范技巧:上传程序之前要仔细检查,删除不必要的文档。对以BAK为后缀的文件要特别小心。
5、特殊字符
攻击原理:输入框是黑客利用的一个目标,他们可以通过输入脚本语言等对用户客户端造成损坏;如果该输入框涉及数据查询,他们会利用特殊查询语句,得到更多的数据库数据,甚至表的全部。因此必须对输入框进行过滤。但如果为了提高效率仅在客户端进行输入合法性检查,仍有可能被绕过。
防范技巧:在处理类似留言板、BBS等输入框的ASP程序中,最好屏蔽掉HTML、JavaScript、VBScript语句,如无特殊要求,可以限定只允许输入字母与数字,屏蔽掉特殊字符。同时对输入字符的长度进行限制。而且不但要在客户端进行输入合法性检查,同时要在服务器端程序中进行类似检查。
6、数据库下载漏洞
攻击原理:在用Access做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的Access数据库的路径和数据库名称,那么他也能够下载这个Access数据库文件,这是非常危险的。
防范技巧:
(1)为你的数据库文件名称起个复杂的非常规的名字,并把它放在几层目录下。所谓 “非常规”,打个比方说,比如有个数据库要保存的是有关书籍的信息,可不要给它起个“bookmdb”的名字,而要起个怪怪的名称,比如d34ksfslfmdb,并把它放在如/kdslf/i44/studi/的几层目录下,这样黑客要想通过猜的方式得到你的Access数据库文件就难上加难了。
(2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中,比如:
DBPath = ServerMapPath(“cmddbmdb”)
connOpen “driver={Microsoft Access Driver (mdb)};dbq=” & DBPath
假如万一给人拿到了源程序,你的Access数据库的名字就一览无余了。因此建议你在ODBC里设置数据源,再在程序中这样写:
connopen“shujiyuan”
(3)使用Access来为数据库文件编码及加密。首先在“工具→安全→加密/解密数据库”中选取数据库(如:employermdb),然后按确定,接着会出现“数据库加密后另存为”的窗口,可存为:“employer1mdb”。
要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
接下来我们为数据库加密,首先打开经过编码了的 employer1mdb,在打开时,选择“独占”方式。然后选取功能表的“工具→安全→设置数据库密码”,接着输入密码即可。这样即使他人得到了 employer1mdb文件,没有密码他也是无法看到 employer1mdb中的内容。
7、防范远程注入攻击
这类攻击在以前应该是比较常见的攻击方式,比如POST攻击,攻击者可以随便的改变要提交的数据值已达到攻击目的又如:COOKIES 的伪造,这一点更值得引起程序编写者或站长的注意,不要使用COOKIES来做为用户验证的方式,否则你和把钥匙留给贼是同一个道理
比如:
If trim(Request cookies (“uname”))=”fqy” and Requestcookies(“upwd”) =”fqy#e3i5com” then
……more………
End if
我想各位站长或者是喜好写程序的朋友千万别出这类错误,真的是不可饶恕伪造COOKIES 都多少年了,你还用这样的就不能怪别人跑你的密码涉及到用户密码或者是用户登陆时,你最好使用session 它才是最安全的如果要使用COOKIES就在你的COOKIES上多加一个信息,SessionID,它的随机值是64位的,要猜解它,不可能例:
if not (rsBOF or rseof) then
login=”true”
Session(“username”&sessionID) = Username
Session(“password”& sessionID) = Password
‘Responsecookies(“username”)= Username
‘Responsecookies(“Password”)= Password
下面我们来谈谈如何防范远程注入攻击,一般的攻击都是将单表提交文件拖到本地,将Form ACTION=”chkasp” 指向你服务器中处理数据的文件即可如果你全部的数据过滤都在单表页上,那么恭喜你,你将已经被脚本攻击了
怎么才能制止这样的远程攻击好办,请看代码如下: 程序体(9)
‘个人感觉上面的代码过滤不是很好,有一些外部提交竟然还能堂堂正正的进来,于是再写一个
‘这个是过滤效果很好,建议使用
if instr(requestservervariables(“http_referer”),”http://”&requestservervariables(“host”) )<1 then responsewrite “处理 URL 时服务器上出错。
如果您是在用任何手段攻击服务器,那你应该庆幸,你的所有操作已经被服务器记录,我们会第一时间通知公安局与国家安全部门来调查你的IP ”
responseend
end if
程序体(9)
本以为这样就万事大吉了,在表格页上加一些限制,比如maxlength啦,等等但天公就是那么不作美,你越怕什么他越来什么你别忘了,攻击者可以突破sql注入攻击时输入框长度的限制写一个SOCKET程序改变HTTP_REFERER我不会。网上发表了这样一篇文章:
————lenreg—————–
Windows Registry Editor Version 500
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\扩展(&E)]
@=”C:\Documents and Settings\Administrator\桌面\lenhtm”
“contexts”=dword:00000004
———–end———————-
———–lenhtm——————
———-end———————–
用法:先把lenreg导入注册表(注意文件路径)
然后把lenhtm拷到注册表中指定的地方
打开网页,光标放在要改变长度的输入框上点右键,看多了一个叫扩展的选项了吧
单击搞定! 后记:同样的也就可以对付那些限制输入内容的脚本了
怎么办我们的限制被饶过了,所有的努力都白费了不,举起你de键盘,说不。让我们继续回到脚本字符的过滤吧,他们所进行的注入无非就是进行脚本攻击。我们把所有的精力全都用到ACTION以后的页面吧,在chkasp页中,我们将非法的字符全部过滤掉,结果如何我们只在前面虚晃一枪,叫他们去改注册表吧,当他们改完才会发现,他们所做的都是那么的徒劳。
8、ASP木马
已经讲到这里了,再提醒各位论坛站长一句,小心你们的文件上传:为什么论坛程序被攻破后主机也随之被攻击者占据。原因就在……对!ASP木马!一个绝对可恶的东西。病毒么非也把个文件随便放到你论坛的程序中,您老找去吧。不吐血才怪哦。如何才能防止ASP木马被上传到服务器呢方法很简单,如果你的论坛支持文件上传,请设定好你要上传的文件格式,我不赞成使用可更改的文件格式,直接从程序上锁定,只有图象文件格式,和压缩文件就完全可以,多给自己留点方便也就多给攻击者留点方便。怎么判断格式,我这里收集了一个,也改出了一个,大家可以看一下:
程序体(10)
‘判断文件类型是否合格
Private Function CheckFileExt (fileEXT)
dim Forumupload
Forumupload=”gif,jpg,bmp,jpeg”
Forumupload=split(Forumupload,”,”)
for i=0 to ubound(Forumupload)
if lcase(fileEXT)=lcase(trim(Forumupload(i))) then
CheckFileExt=true
exit Function
else
CheckFileExt=false
end if
next
End Function
‘验证文件内容的合法性
set MyFile = serverCreateObject (“ScriptingFileSystemObject”)
set MyText = MyFileOpenTextFile (sFile, 1) ‘ 读取文本文件
sTextAll = lcase(MyTextReadAll): MyTextclose
‘判断用户文件中的危险操作
sStr =”8 getfolder createfolder deletefolder createdirectory
deletedirectory”
sStr = sStr & “ saveas wscriptshell scriptencode”
sNoString = split(sStr,” ”)
for i = 1 to sNoString(0)
if instr(sTextAll, sNoString(i)) <> 0 then
sFile = UplPath & sFileSave: fsDeleteFile sFile
Responsewrite “
”& sFileSave &”文件中含有与操作目录等有关的命令”&_
“
”& mid(sNoString(i),2) &”,为了安全原因,不能上传。”&_”
”
Responseend
end if
next
程序体(10)
SHELL编程一方面做开发,设计一些LINUX平台的工具,一方面用SHELL做脚本是为了服务器的日常管理,可以批量化自动管理,解决了手工管理的烦琐,开发方面不太了解,管理方便就是编写脚本,里面一般都是些LINUX的命令语句和变量,可以加入到计划任务,然后到某个时候开始执行脚本做你想要的操作,不需要你没个时刻都要去自己手工做了
忘记了在哪儿摘的,我一直保存着:
1、linux系统基础,这个不用说了,是基础中的基础,连这个都不会就别干了,没必须全部掌握,但基本命令总得会吧
2、网络服务,服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA
3、shell脚本和另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了
4、sed和awk工具,必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。
5、文本处理命令,sort , tr , cut, paste, uniq, tee等,必学,也是结合第3点时一并学习的。
6、数据库,首选mysql,别问我为什么不学sqlserver和oracle,因为linux用得最多绝对是mysql,增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。
7、防火墙,不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用得最多,反正不学就肯定不合格。
8、监控工具,十分十分重要,我个人建议,最好学这3个,cacti,nagios,zibbix,企业用得最多应该是nagios和 zibbix,反正都学吧,但nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。
9、集群和热备,这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰,集群工具有很多,最好学是LVS,这是必学,最好也学学nginx集群,反向代理
10、数据备份,不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar,
Xshell是一个强大的安全终端模拟软件,主要用于远程访问和控制服务器。
Xshell提供了丰富的功能和特性,使得用户可以轻松管理和操作远程服务器。首先,Xshell支持多种协议,如SSH、Telnet等,这使得用户可以通过不同的协议连接到远程服务器。其次,Xshell提供了强大的脚本功能,用户可以通过编写脚本实现自动化操作,提高工作效率。此外,Xshell还支持多标签页功能,用户可以同时打开多个会话窗口,方便管理不同的服务器连接。
举个例子来说,假设你是一名系统管理员,需要管理多台远程服务器。通过Xshell,你可以轻松创建和管理这些服务器的连接。你可以使用Xshell的多标签页功能,同时打开多个会话窗口,快速切换和管理不同的服务器。此外,你还可以使用Xshell的脚本功能,编写脚本实现自动化操作,例如批量执行命令、文件传输等,大大提高工作效率。
总的来说,Xshell是一个功能强大的终端模拟软件,适用于需要远程访问和控制服务器的场景。无论是系统管理员、开发者还是其他需要远程操作服务器的人员,都可以通过Xshell轻松完成工作任务。
单片机面试问题及答案
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机,下面就是单片机面试问题及答案。
单片机面试问题及答案
你所知道的单片机的品牌
ATmel、Philips(飞利浦)、Windond(华邦)、intel(因特尔)、Siemens(西门子)
STC、凌阳、FREESCALE(飞思卡尔),Micrichip,TOSHIBA,TI,ST,SILICON,SAMSUMG,ELAN,富士通,TOLTEK
用熟悉的单片机写一个软件延时10ms的程序
void delay10ms()
{
uint i,j;
for(i=10;i>0;i--)
for(j=110;j>0;j--);
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)//i=xms 即延时约xms毫秒
for(j=110;j>0;j--);
}
你所知道的排序算法
1、直接插入排序
2、希尔(Shell)排序
3、交换排序
4、快速排序
5、选择排序
6、堆排序
7、基数排序
;38小强在公司要查询wwwtsinghuaeducn这个DNS名称对应的IP地址时,其正确的查询过程是:______。
①查询公司默认的DNS服务器
②查询ROOT DNS服务器
③查询CN 域的DNS服务器
④查询EDUCN 域的DNS服务器
⑤查询TSINGHUAEDUCN 域的DNS服务器
A①②③④⑤
B①③④⑤②
C①⑤
D⑤④③②①
20题
40系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有______权限。
A744
B664
C646
D746
41以下哪条命令可以改变文件file的所有者为Sam________
Achmod Sam file
Bchown Sam file
Cchgrp Sam file
Dumask Sam file
42一个文件的权限为“rwxr-----”,那么以下哪个说法是正确的_______
A所有用户都可以执行写操作
B只有所有者可以执行写操作
C所有者和所属组可以执行写操作
D任何人都不能执行写操作
43下面哪条命令可以把一个压缩的打包文件解压并解包_______
Atar cvf
Btar xvf
Ctar zcvf
Dtar zxvf
45若命令mkdir具有SetUID的s权限位,问当普通用户Sam执行命令mkdir时,新建的目录所有者为哪个用户________
ASam
Busers
Croot
Dsys
47哪条命令可以查看到系统中被挂起的进程________
Abg
Brenice
Cjobs
Dwho
49如果你的umask设置为022,缺省的,你创建的文件的权限为:________。
A----w--w-
B-w--w----
Cr-xr-x---
Drw-r--r--
51作为一个管理员,你希望在每一个新用户的目录下放一个文件 bashrc ,那么你应该在哪个目录下放这个文件,以便于新用户创建主目录时自动将这个文件复制到自己的目录下。
A/etc/skel/
B/etc/default/
C/etc/defaults/
D/etc/profiled/
52在linux中有关IDE设备命名编号正确的有________。
Asda 第一个 IDE 控制器,主设备
Bsdb 第二个 IDE 控制器,次设备
Chdb 第二个 IDE 控制器,主设备
Dhda 第一个 IDE 控制器,主设备
56Samba服务器的'进程由________两部分组成。
Anamed和sendmail
Bsmbd和nmbd
Cbootp和dhcpd
Dhttpd和squid
57对于系统中的进程named(进程号2567),可以通过命令________强行结束。
Aservice named stop
B/etc/rcd/initd named stop
Ckill -9 named
Dkill -9 2567
< SQL Server >10题
60若用如下的SQL语句创建了一个表S: CREATE TABLE S(SID CHAR(6) NOT NULL, SNAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INTEGER) 今向S表插入如下行时,________可以给插入。
A(‘991001’,‘李明芳’,女,‘23’)
B(‘990746’,'张为’,NULL,NULL)
C(,‘陈道一’,‘男’,32)
D(‘992345’,NULL,‘女’,25)
61从货物定单数据表(order)中查询出其中定单金额(order_price)在1000和5000之间的定单的详细信息,并按照定单金额(order_price)降序排列。正确的语句是_________。
ASelect from order where [order_price] between 1000 and 5000
order by [order_price] ASC
BSelect from order where [order_price] between 1000 and 5000
order by [order_price] DESC
CSelect from order where 1000<[order_price]<5000 order by [order_price] ASC
DSelect from order where 1000<[order_price]<5000 order by [order_price] DESC
62建立数据库时,将年龄字段值限制在12~14之间的这种约束属于_______。
A实体完整性约束
B域完整性约束
C参照完整性约束
D视图完整性约束
63下列有关SQL Server 2000中,master数据库的说法不正确的是________。
A用户数据库可以重命名,master数据库不能重命名
Bmaster数据库记录SQLServer的所有系统信息
Cmaster数据库在安装SQLServer的过程中自动安装
D不可以重建master数据库
64对数据库的修改操作要遵循的一个原则是:要么操作全部完成,要么不进行操作。这个原则可以认为是事务的________特性。
A一致性B持久性C原子性D隔离性
65查询city列的值为空的记录,在where子句中的条件应写为________。
Aity=null
Bcity='null'
Ccity is null
Dcity is 'null'
66在SQL SERVER中,下列哪些语句属于给局部变量赋值的语句________。
ADECLAREBSET CUSE DGET
67A表有25条记录,B表有8条记录,执行语句
SELECT Acolumnl,Bcolumnl
FROM A LEFF JOIN B
WHERE Acolumn2=Bcolumn2
返回的结果集中的记录数为________。
A25 B8 C33 D200
68count与count()的区别是________
A无区别
Bcount是聚合函数,count()不是聚合函数
Ccount统计空格而COUNT(×)不统计
Dcount()统计NULL值 ,而COUNT 不统计
69________包含了一组数据库操作命令,并且所有的命令作为一个整体一起向系统提交或撤消操作请求。
A事务 B更新 C插入 D以上都不是
70frameset的含义是________。
A表单
B表格
C链接
D框架集
74如果想获得细的表格边框线的效果,可以_________。
A可以将table标签中的border属性设置为1
B可以将table标签中的border属性设置为0
C手写代码是写不出的
D可以通过设置表格的背景色与单元格的背景色不同,并且对order,cellspacing,cellpadding的属性值进行控制得到
75以下HTML代码中,________是将词语“Run Away Bride”显示为Verdana字体并且字号为5号的正确代码。
A Run Away Bride
b Run Away Bride
c“Run Away Bride”
d
76在标签中,下列________属性用于给参数传递内容。
AAddress
BValue
CAmount
DMethod
二 多项选择题(每题中至少有两个正确答案,少选、多选、错选均不得分,每题1分,共20分)
81下列命令中,哪些命令可以使路由器进入线路配置模式________
Avty 0
Bline vty 0 4
Cconsole 0
Dline console 0
82在哪两个设备之间可以实现全双工操作________
A交换机到主机
B交换机到交换机
Chub 到 hub
D交换机到 hub
83以下命令中哪些命令可以看到路由器IOS的信息________。
Ashow running-config
Bshow flash
Cshow version
Dshow startup-config
84TCP/IP 参考模型中没有________。
A网络层
B传输层
C会话层
D表示层
86下列对Windows 2003域控制器的描述哪些是正确的:_______。
A域控制器中存储域的部分目录信息
B域控制器中存储域的完整目录信息
C一个域中只能有一台域控制器
D一个域中可以有多台域控制器
87在Windows 2000 Server的内建组中成员可以创建新用户________。
AUsers
BBackup Operators
CPower Users
DAdministrators
88下列对DNS记录的描述哪些是正确的:_______。
AA记录将主机名映射为IP地址
BMX记录标识域的邮件交换服务
CPTR记录将IP地址指向主机名
DNS记录规定主机的别名
89要提供DHCP服务,DHCP服务器必需具备哪些条件:________。
A具有静态配置的IP地址
B具有作用范围的有效IP地址范围
C配置有缺省网关
D配置有子网掩码
90使用分布式文件系统的好处有:________。
A易于访问文件
B增加文件访问性
C服务器负载均衡
D统一设定文件权限
91HTML是一个纯文本文档,但是与普通的纯文本文档相比,HTML文档具有以下特点_____
A结构化
B超文本
C与平台无关
D简单,易维护
92以下哪些是动态网页的后缀______
Aasp
Btxt
Cphp
Dcgi
94下是SQL Server2000数据库文件的有________。
Amdf文件
Bmdb文件
Cldf文件
Dfrm文件
95关于对SQL Server数据库表的重命名,以下的说话正确的是________。
A可以在企业管理器中修改表的名称
B可以在查询分析器中使用T-SQL为表重明名
CSQL Server 2000中,必须执行拷贝粘贴操作才能进行表的结构复制
DSQL Server 2000中,不允许进行表的重命名
96在Linux操作系统中的/etc/passwd文件包括的基本选项有________。
A用户ID
B加密的密码值
C用户登录Shell
D用户登录目录
97启用配额的命令是________。
AUsrquota
BGrpquota
CRootquota
DUserquota
98配置DNS服务器时,三个最基本的文件是________。
A/etc/namedconf(主配置文件)
B/var/named/localhostzone(正向解析库文件)
C/var/named/namedlocal(反向解析库文件)
D/etc/reslovconf(客户端文件)
100/etc/samba/smbconf主要包括哪几部分________。
Aglobal(全局)参数
Bdirectory shares(目录共享)
Cfile shares(文件共享)
Dprinter shares(打印共享)
0条评论