如何创建python开发环境

如何创建python开发环境,第1张

第一步:登录管理界面

1、连接电脑

使用单机能上网的电脑,通过网线连接到路由器的LAN口,如下图:

2、登录管理界面

打开电脑的浏览器,清空地址栏后,输入路由器的管理地址(以路由器底部标贴标识的管理地址为准),输入(或设置)路由器的管理密码后登录管理界面。

1、修改管理IP地址

登录路由器管理界面,点击 网络参数 >> LAN口设置,修改LAN口IP地址与前端网络不在同一网段(以1721611为例),保存,路由器提示 重启,点击 确定。

2、设置WAN口的上网方式

使用修改后的管理IP地址重新登录路由器管理界面,点击 网络参数 >> WAN口设置,WAN口上网方式选择动态IP(以实际应用为准)。

注意:如果运营商指定使用固定的IP地址,则需要选择静态IP,并设置对应参数。

3、克隆MAC地址

点击 网络参数 >> MAC地址克隆,点击 克隆MAC地址,看到页面显示的两个MAC地址一样,点击 保存,提示重启生效,点击 确定。

4、设置无线参数

重启完成,返回管理界面,点击 无线设置 >> 无线安全设置,修改 SSID号,建议设置为字母或数字的任意组合,不要使用中文或特殊字符。

点击 无线设置 >> 无线安全设置,选择 WPA-PSK/WPA2-PSK 的加密方式,在 PSK密码 的位置设置无线密码,点击 保存。

可以用,能通,但两端必须一样。如果你机房用的是交换机,光模块为多模,对端用了单模光纤收发器,那就不会通。

光纤收发器,是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也被称之为光电转换器(Fiber Converter)。产品一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中,且通常定位于宽带城域网的接入层应用;如:监控安全工程的高清视频图像传输;同时在帮助把光纤最后一公里线路连接到城域网和更外层的网络上也发挥了巨大的作用。

选购原则

在实际的采购中,企业考虑的一个重要的因素是价格,特别是中小型的企业和SOHO办公。我们认为,几百元的产品足以满足一般的企业的需求了,除非是特殊的行业,例如电信、军事等。当然,除价格外同时还必须考虑产品与周边环境相容性的配合及产品本身的稳定性、可靠性,否则价格再低,买了也没有用。为了使大家能挑到好的产品,把一些采购要点罗列如下:

(1)看看它本身是否可支持全双工及半双工,因为市面上有些芯片,只能使用全双工环境,无法支持半双工,若接至其他品牌的交换机(N-Way Switch)或集线器(HUB),其又使用半双工模式,则一定会造成严重的冲撞及丢包。

(2)看看它是否与其他光纤接头做过连接测试,市面上的光纤收发器收发器愈来愈多,如不同品牌的收发器相互的兼容性事前没做过测试则也会产生丢包、传输时间过长、忽快忽慢等现象。

(3)看看它有否防范丢包的安全装置,因为很多厂商在制作光纤收发器时,为了减低成本,往往采用寄存器(Register)数据传输模式,这种方式最大的缺点,就是数据传输时会不稳,造成丢包,而最佳的方式就是采用缓冲线路设计,可安全避免数据丢包。

(4)看看产品是否有做温度测试,因为光纤收发器本身使用时会产生高热,再加上其安装的环境通常在户外,故温度过高时(不能大于50°C),光纤收发器是否可正常运作,是用户非常重要考虑的因素!允许的最高工作温度是多少?对于一给需要长期运行的设备此项非常值得我们关注!

(5)看看产品是否有符合IEEE8023标准?光纤收发器如符合IEEE8023标准,如果不符合该标准,那么肯定会存在兼容性的问题。

(6)衡量一下厂家的售后服务,试想一下,如果你的设备坏了,厂家几天都没有解决问题,你的损失是多少啊?所以为了使售后服务能及时及早的响应,建议大家选择当地区具有实力雄厚、技术力量高超、信誉良好的专业公司。也只有专业公司的技术工程师排除故障的经验比较丰富、检测故障的工具比较先进!

(7)选购时仔细观察产品的外型,看看产品的光纤模块外壳有否旧、有否光泽又或者是有否磨损痕迹。现今市场上有不少厂商为了谋取暴利,在光纤收发器、光纤交换机等设备上使用了二手或旧的光纤模块,使用这些二手光纤模块的产品,对网络传输造成极大的隐患,如:光纤模块的光路受到污染,对信号传输必定受到影响,传输质量的下降。而传输质量下降,对接收的灵敏度也造成降低,也会造成数据丢包的现象。再加上使用了二手的光纤模块,在使用寿命上也会打了折扣,随时出现零件失效等情况。

注意事项

光纤收发器有多种不同的分类,而实际使用中大多注意的是按光纤接头不同而区分的类别:SC接头光纤收发器和FC/ST接头光纤收发器。

在使用光纤收发器连接不同的设备时,必须注意使用的端口不同。

1、光纤收发器到100BASE-TX设备(交换机,集线器)的连接:

确认双绞线的长度最长不超过100米;

连接双绞线的一端到光纤收发器的RJ-45口(Uplink口),另一端到100BASE-TX设(交换机,集线器)的 RJ- 45口(普通口)。

2、光纤收发器到100BASE-TX设备(网卡)的连接:

确认双绞线的长度最长不超过100米;

连接双绞线的一端到光纤收发器的RJ-45口(100BASE-TX口),另一端到网卡的RJ-45口。

3、光纤收发器到100BASE-FX的连接:

确认光纤长度没有超出设备能提供的距离范围;

光纤的一端连光纤收发器的SC/FC/ST接头,另一端连接100BASE-FX设备的SC/ST接头。

另外需要补充的是很多用户在使用光纤收发器时认为:只要光纤的长度在单模光纤或多模光纤所能支持的最大距离内就可以正常使用。其实这是一种错误的认识,这种认识只有在连接的设备都是全双工的设备时才是正确的,当有半双工的设备时,光纤的传输距离就有一定的限制了。

在以太网光纤收发器设计中,元器件的选择举足轻重,它决定了产品的性能、寿命和成本。光电介质

转换芯片(OEMC)是整个收发器的核心。选择介质转换芯片是以太网光纤收发器设计的第一步,也是非常重

要的一步。它的选择直接影响和决定了其它元器件的选择。

光电介质转换芯片的主要性能指标有:

1. 网管功能

网络管理是网络可靠性的保证,是提高网络效益的方式,网络管理的运行、管理、维护等功能可以大

大增加网络的可用时间,提高网络的利用率、网络性能、服务质量、安全性和经济效益。但研制有网管功

能的以太网光纤收发器所需的人力、物力远远超过无网管的同类产品,主要表现在:

(1) 硬件投资。以太网光纤收发器网管功能的实现需要在收发器电路板上配置网管信息处理单元来处理网

管信息,该单元利用介质转换芯片的管理接口获取管理信息。管理信息与网路上的普通数据共用数据通道

。带网管功能的以太网光纤收发器,元器件种类及数量多于无网管的同类产品,相应地,布线复杂,开发

周期长。烽火网络公司长期致力于光纤收发器产品的开发,为了优化产品的设计,使产品更加稳定,增强

产品功能,自主开发了光纤收发器介质转换芯片,使产品的集成度更高,有效地减少了因多种芯片之间协

同工作所造成的不稳定因素。新开发的芯片具有光纤线路质量在线测试、故障定位、ACL等很多实用性很

强的功能,既能有效的保护用户投资,又能将极大地减少用户的维护成本。

(2) 软件投资。有网管功能以太网光纤收发器的研发工作除了硬件布线外,软件编程更为重要。网管

软件的开发工作量较大,包括图形化用户接口部分、网管模块嵌入式系统部分、收发器电路板上网管信息

处理单元部分。其中网管模块嵌入式系统尤为复杂,研发门槛较高,需要使用嵌入式 *** 作系统,如

VxWorks,linux等。需要完成SNMP代理,telnet、web等复杂软件工作。

(3) 调试工作。有网管功能以太网光纤收发器的调试工作包括两部分:软件调试和硬件调试。在调试

过程中,电路板布线、元器件性能、元器件焊接、PCB板质量、环境条件以及软件编程中的任一因素都会

影响以太网光纤收发器的性能。调试人员必须具备综合素质,全面考虑收发器出现故障的各种因素。

(4) 人员的投入。普通以太网光纤收发器的设计只需一个硬件工程师便可完成。有网管功能的以太网

光纤收发器的设计工作除了需要硬件工程师完成电路板布线外,还需要众多软件工程师完成网络管理的编

程,而且要求软硬件设计者密切配合。

2.兼容性

OEMC应支持IEEE802、CISCO ISL等常用网络通信标准,以保证以太网光纤收发器有良好的兼容性。

3. 环境要求

a 输入输出电压。OEMC的工作电压多为5伏或33伏,但以太网光纤收发器上另一个重要的器件——

光收发一体模块的工作电压绝大多数为5伏。若两者工作电压不一致,则会增加PCB板布线的复杂程度。

b 工作温度。在选择OEMC的工作温度时,开发人员需从最不利的条件出发并留有余地,比如夏天最

高气温达40℃,而以太网光纤收发器机箱内部因为各种元器件尤其是OEMC发热。因此,以太网光纤收发器

工作温度的上限指标一般不应低于50℃。

光纤收发器的分类

随着光纤收发器产品的多样化发展,其分类方法也各异,但各种分类方法之间又有着一定的关联。

按速率来分

可以分为单10M、100M、1000M、10G的光纤收发器、10/100M自适应、10/100/1000M自适应的光纤收发器。

其中多数单10M、100M和1000M的收发器产品工作在物理层,在这一层工作的收发器产品是按位来转发数据。

该转发方式具有转发速度快、时延低等方面的优势,适合应用于速率固定的链路上。而10/100M、10/100/1000M光纤收发器是工作在数据链路层,使用存储转发的机制,这样转发机制对接收到的每一个数据包都要读取它的源MAC地址、目的MAC地址和数据净荷,并在完成CRC循环冗余校验以后才将该数据包转发出去。

存储转发的好处一来可以防止一些错误的帧在网络中传播,占用宝贵的网络资源,同时还可以很好地防止由于网络拥塞造成的数据包丢失,当数据链路饱和时存储转发可以将无法转发的数据先放在收发器的缓存中,等待网络空闲时再进行转发。这样既减少了数据冲突的可能又保证了数据传输的可靠性,因此10/100M、10/100/1000M的光纤收发器适合于工作在速率不固定的链路上。

按工作方式来分

如上所述,可以分为工作在物理层的光纤收发器和工作在数据链路层的光纤收发器。

按结构来分

可以分为桌面式(独立式)光纤收发器和机架式光纤收发器。桌面式光纤收发器适合于单个用户使用(及内置电源收发器和外置电源收发器),如满足楼道中单台交换机的上联。机架式光纤收发器适用于多用户的汇聚,如小区的中心机房必须满足小区内所有交换机的上联,使用机架便于实现对所有模块型光纤收发器的统一管理和统一供电,邦联通信的光纤收发器机架为16槽产品,即一个机架中最多可加插16个模块式光纤收发器。

按光纤来分

可以分为多模光纤收发器和单模光纤收发器。由于使用的光纤不同,收发器所能传输的距离也不一样

,多模收发器一般的传输距离在2公里到5公里之间,而单模收发器覆盖的范围可以从20公里至120公里。

需要指出的是因传输距离的不同,光纤收发器本身的发射功率、接收灵敏度和使用波长也会不一样。如5

公里光纤收发器的发射功率一般在-20~-14db之间,接收灵敏度为-30db,使用1310nm的波长;而120公里

光纤收发器的发射功率多在-3~0dB之间,接收灵敏度小于-36dB,使用1550nm的波长。

按光纤数量来分

可以分为单纤光纤收发器和双纤光纤收发器。顾名思义,单纤设备可以节省一半的光纤,即在一根光

纤上实现数据的接收和发送,在光纤资源紧张的地方十分适用。这类产品采用了波分复用的技术,使用的

波长多为短距离传输(0-60KM)的1310nm和1550nm以及长距离传输(60KM-120km)的1490nm和1550nm。随着单纤光纤收发器使用的不断增多,产品已经成熟稳定。

按电源来分

可以分为内置电源和外置电源两种。其中内置开关电源为电信级电源,而外置变压器电源多使用在民

用设备上。前者的优势在于能支持超宽的电源电压,更好地实现稳压、滤波和设备电源保护,减少机械式

接触造成的外置故障点;后者的优势在于设备体积小巧、便于使用14槽机架集中管理和价格便宜。

另外从设备供电电压类型来分,有交流220V、110V、60V;直流-48V、24V等。

按网管来分

可以分为网管型光纤收发器和非网管型光纤收发器。随着网络向着可运营可管理的方向发展,大多数

运营商都希望自己网络中的所有设备均能做到可远程网管的程度,光纤收发器产品与交换机、路由器一样

也逐步向这个方向发展。对于可网管的光纤收发器还可以细分为局端可网管和用户端可网管。局端可网管

的光纤收发器主要是机架式产品,多采用主从式的管理结构,即一个主网管模块可串联N个从网管模块,

每个从网管模块定期轮询它所在子架上所有光纤收发器的状态信息,向主网管模块提交。主网管模块一方

面需要轮询自己机架上的网管信息,另一方面还需收集所有从子架上的信息,然后汇总并提交给网管服务

器。

首先介绍嵌入式Internet技术的发展和广阔的应用前景以及嵌入式Internet技术的基本概念和原理,然后重点阐述了嵌入式系统接入Internet的几种方式,包括各种接入方式的工作原理,对TCP/IP的处理方法及所需的其他协议、软硬件等,并对它们各自的优缺点进行了比较,指出了新的发展方向。

关键词:嵌入式系统;嵌入式Internet;TCP/IP协议

0 引 言

嵌入式Internet技术是一种将嵌入式设备接入Internet的技术,利用该技术可将Internet从PC机延伸到8位、16位、32位单片机,并实现基于Inter-net的远程数据采集、远程控制、自动报警、上传/下载数据文件、自动发送E-mail等功能,大大扩展In-ternet的应用范围。

嵌入式Internet技术的出现时间并不很长,但是发展速度却非常之快,新思想不断涌现,新概念连续推出,新技术层出不穷,新产品不断产生,从底层硬件技术所提供的解决方案到顶层软件所开拓的想像空间,都在不断地推陈出新。随着PC机时代的到来,21世纪将是嵌入式Internet的时代。美国贝尔实验室总裁Arun Netravali的一批科学家对此做出了预测:嵌入式Internet“将会产生比PC机时代多成百上千倍的瘦服务器和超级嵌入式瘦服务器。这些瘦服务器将与我们所能想到的各种物理信息、生物信息相联接,通过Internet网自动地、实时地、方便地、简单地提供给需要这些信息的对象”更多内容可以在闯客技术论坛查看。

网络专家预测,将来在Internet上传输的信息中,将有70%的信息来自小型嵌入式系统[2]。嵌入式Internet将有很好的发展前景和广阔的市场,未来的Internet技术将是嵌入式Internet占主导地位,因此嵌入式系统与Internet的接入方式已成为人们研究的热点。

1 嵌入式Internet的基础

嵌入式Internet是嵌入式系统与Internet的结合。嵌入式系统中包含嵌入式处理机、嵌入式 *** 作系统和应用电路部分,与Internet的接入则必须有对应的接入协议,如通用的TCP/IP协议。因此,实现嵌入式Internet的基础是嵌入式处理机、嵌入式 *** 作系统和接入Internet的通信协议。

(1)嵌入式处理机

单片机就是典型的嵌入式处理机,如常见的In-tel的8051系列、Atmel的AVR、MicroChip的PIC、Motorola的Dragonball、Cygnal的C8051F等,以及一些高端的单片机如ARM、SH3、MIPS等,嵌入式处理机的种类有几百种。处理机是嵌入式系统的核心,其性能直接影响整个系统的性能高低,影响接入Internet的方式和成本。

(2)嵌入式 *** 作系统

嵌入式系统要完成复杂的功能,已经不可能像普通单片机一样,直接从底层开始编写所有程序,必须采用底层的 *** 作系统,在此基础上来完成复杂的应用软件设计。但由于嵌入式系统自身资源的限制,嵌入式 *** 作不可能像PC机的 *** 作系统一样庞大,Windows98/2000有几百兆字节,而嵌入 *** 作系统一般只有100-200半字节。同时嵌入 *** 作系统还必须是实时多任务 *** 作系统,而Windows98/2000不是实时 *** 作系统。另一方面,嵌入式处理机的种类繁多,嵌入 *** 作系统还必须支持多种不同处理器体系结构的众多处理机。

目前国际上嵌入式系统的主流是实时多任务 *** 作系统(RTOS:Real-Time Operating System)。RTOS是嵌入式应用软件的基础和开发平台,是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在RTOS之上。不但如此,RTOS还是一个标准的内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时开发基础。这样一来,基于RTOS上的C语言程序具有极大的可移植性。同时,在RTOS基础上可以编写出各种硬件驱动程序、专家库函数、行业库函数、产品库函数和通用性的应用程序一起,可以作为产品销售,促进行业内的知识产权交流。

虽然商品化的嵌入式 *** 作系统在20世纪70年代后期才出现,但到20世纪末,成熟的商品化 *** 作系统已经十分丰富了,如Palm OS,VxWorks,pSOS,Nuclear,VelOSity,QNX,VRTX,WindowsCE(现改名为Windows Powered)以及目前炒得很热的嵌入式Linux等。

(3)接入Internet的通信协议

嵌入式系统接入Internet同PC机接入Internet一样,必须通过相应的通信协议。目前的Internet采用TCP/IP协议,因此嵌入式系统接入Internet最终必须通过TCP/IP接入,嵌入式系统对信息进行TCP/IP协议处理,使其变成可以在Internet上传输的IP数据包。若采用网关方式,在网关前端可以采用适合嵌入处理机和起控制作用的新协议,通过网关转换后变成标准IP包接入Internet。

由于嵌入式系统自身资源的限制,处理能力不如台式机强,以及从PC机上来的TCP/IP的复杂性,使得处理通信协议成为嵌入式系统接入Internet的关键,也是嵌入式系统接入Internet的难点之一。因此下面着重分析当前的几种接入方式以及对协议的不同处理方法。

2 嵌入Internet的几种接入方式

2.1 处理机加TCP/IP协议方式

采用处理机加TCP/IP协议方式,MCU处理机像PC机一样直接处理TCP/IP协议,一般需要高档的处理机,如32位的ARM,SH3,MIPS等MCU和一些单周期指令速度较高的8位MCU,如AVR、SX等,其结构见图1。

对TCP/IP协议的具体处理又有2种方法。一种方法是采用实时 *** 作系统RTOS,用软件方式直接处理TCP/IP协议。实时 *** 作系统的功能越来越强大,许多都具有对图像界面和TCP/IP的支持能力。采用这种方式最灵活,能按用户需求实现很多复杂的功能,当然灵活的同时带来的是开发复杂度的增加,对开发人员的要求高,对 *** 作系统和TCP/IP协议都要有一定的熟悉程度,因此开发周期也较长,高档MCU和RTOS的价格也很高。

另一种是采用固化了TCP/IP协议的硬件芯片,如Seiko Instruments公司的S7600A等,它支持>

这两种方式类似于在MCU上实现PC机加网卡的功能,MCU直接处理TCP/IP协议,复杂度较高,且每个MCU也需要一个IP地址,而IP地址需要付费使用。它需要高档的MCU处理机和较高的开发成本,因此一般只会在一些高档产品(如汽车)中使用。它有一个好处是不需要PC机做网关。

2.2 Webit方式

Webit是沈阳东大新业信息技术股份有限公司研制开发的嵌入式系统接入Internet的一个实用产品,它将MCU和以太网控制器集成到一块小板卡上,将它装入到嵌入系统中就可以完成嵌入系统与Internet网的联接。Webit有自己的IP地址,与前面提到的第一种方式相似,但它有更高的集成度,将协议处理部分独立出来,开发人员省去了网络部分的设计,可将主要精力放在应用系统本身。

Webit总体上是一个基于AVR单片机的系统,在单片机内有用来存储系统服务程序的8千字节的FLASH空间、512字节的RAM空间以及用来存放

系统参数(IP地址、MAC地址、串口波特率等)的EEPROM。在单片机的外围,有用来存放Web页面的EEPROM。系统中包含一个10 M以太网控制器,用来提供网络的联接。系统提供的应用系统接口为TTL电平的UART口及14位I/O口,通过它与应用系统相连,其应用方式见图2。

Webit方式实际上与第一种方式类似,只是将协议处理部分分离出来由Webit单独完成,开发人员可以不必考虑网络协议和相关接口,但也需要独立的IP地址。该方式也不需要网关,无需PC机,软、硬件结构可以独立设计,其开发成本相对较低。

2.3 采用专用嵌入式网络协议

利用emWare公司开发的嵌入式微Internet网络技术(EMIT:Embedded Micro InternetworkingTechnology)。EMIT由emNet和emGateway两部分组成,emNet协议运行在MCU内部,是为嵌入式系统和其他网络(如RS485、IR、RF和电力线等)进行联接的网络协议。同时,emNet使得集成emMicro的嵌入式系统能够和嵌入式微控制器网关emGate-way进行有效的通信。嵌入式微控制器网关(即em-Gateway)运行在计算机、TV机顶盒或专用的家用电器服务器中,它是设备网络和Internet之间联接的桥梁。应用系统运行MCU内的emNet,通过em-Gateway与Internet联接,见图3。

具体来讲,EMIT采用桌面计算机或高性能嵌入式处理器作为网关emGateway,支持TCP/IP协议并运行Internet服务程序,形成一个用户可通过网络浏览器进行远程访问的服务器,emGateway通过RS232、RS485、CAN、红外、射频等总线将多个嵌入式设备联系起来,每个嵌入式设备的应用程序中包含一个独立的通信任务,称为emMicro,监测嵌入式设备中预先定义的各个变量,并将结果反馈到emGateway中;同时emMicro还可以解释emGate-way的命令,修改设备中的变量,或进行某种控制。

这种方式要求设计工程师必须熟悉emNet协议和相关的接口,并且软硬件设计的工作量仍然较大。应用系统的MCU处理emNet协议要占用一定的系统资源,对MCU的要求也较高,同时需要微机做网关。优点是网关中的一个IP地址可以联接多个嵌入式应用系统。

2.4 使用专用芯片Webchip

Webchip是武汉力源公司于2000年4月开发出使嵌入式电子设备和家用电器与网络方便联接的实用解决方案。Webchip是独立于各种微控制器的专用网络接口芯片,它通过标准的输入、输出口与各种MCU相连。MCU通过Webchip与网关联接即可接收并执行经由Internet远程传来的命令或将数据交给Webchip发送出去。MCU应用系统通过Webchip网络芯片与Gateway联接,再进入Internet网,如图4所示。

Webchip内部固化了MCUNet协议,它与em-Gateway和OSGi协议兼容,是MCU电子设备与计算机平台上的Gateway建立联系的一种软件协议,可以处理MCU与Gateway之间的通信。MCUNet协议结构简单,但功能很强。Webchip作用就是解释通信协议,控制数据传输,使MCU应用系统不用去管理协议的具体内容,只需要解释和执行Webchip送来的命令(Webchip与MCU之间共有17条命令)。Webchip将来自MCU的数据编译成符合协议规定的格式,然后传给Gateway,而由Gateway下传的命令和数据由Webchip负责解释,然后通过命令方式送给MCU。图4中的网关服务器用于协议的解释、转换、执行等,通常由一台普通PC机来实现。

Webchip的简要工作过程是:Webchip通过SPI三线串行接口与MCU应用系统联接。它与MCU应用系统交换信息是由17条简单的指令进行控制。Webchip的另一端以RS-232、RS-485或Modem等接口电路与基于PC机平台的网关接口。Webchip在MCU应用系统接入Internet的过程中实际上是起

了底层协议的编译、解释和转换作用,将MCU应用系统与网关再与Internet联接起来。这是由于PC机网关能提供>

这种方案相对更简单,对MCU要求较低,无论是运行速度、硬件配置和存储器容量等方面均无特殊要求;软件设计也只需在原应用系统的基础上增加一小段接口程序,其它无需作大的改动。对设计工程师,不需要熟悉复杂的网络协议和相关接口,完全不必考虑任何网络协议,只需要解释并执行We-bchip传送过来的指令和数据就可以实现与Internet网络联接。其开发周期更短,也较灵活。同采用专用嵌入式网络协议方案一样,需要微机做网关,网关中的一个IP地址可以联接多个嵌入式应用系统。

目前还买不到PS2000的芯片,只是最近在力源网站上有了PS2000的详细芯片资料。其开发套件也较便宜,包含带有通信接口的PSM2000模块板和PSE2000 EVKIT演示套件等。

3 结束语

随着芯片技术的发展,嵌入Internet还会有更多更新的接入方式出现。针对目前的情况,最主要的问题是需要解决成本问题,以上几种接入方式虽然有成本较低的方案,但与众多嵌入系统中便宜的MCU系统相比,其接入成本在整个系统中还是占有相当大的比重。只有接入成本进一步降低才能使嵌入式Internet真正进入寻常百姓家庭,真正在嵌入系统和智能家庭的大市场中发挥重要作用,因此还需要进一步开发单芯片的最低成本的解决方案,以适应市场的需要。

Nmap是一款网络扫描和主机检测的非常有用的工具。Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等 *** 作系统

Nmap是一款非常强大的实用工具,可用于:检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测 *** 作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本)Nmap是一个非常普遍的工具,它有命令行界面和图形用户界面。本人包括以下方面的内容:介绍Nmap扫描中的重要参数 *** 作系统检测Nmap使用教程Nmap使用不同的技术来执行扫描,包括:TCP的connect()扫描,TCP反向的ident扫描,FTP反d扫描等。所有这些扫描的类型有自己的优点和缺点,我们接下来将讨论这些问题。 Nmap的使用取决于目标主机,因为有一个简单的(基本)扫描和预先扫描之间的差异。我们需要使用一些先进的技术来绕过防火墙和入侵检测/防御系统,以获得正确的结果。下面是一些基本的命令和它们的用法的例子:扫描单一的一个主机,命令如下:

代码如下:

#nmap nxadmincom#nmap 19216812

扫描整个子网,命令如下:

代码如下:

#nmap 19216811/24

扫描多个目标,命令如下:

代码如下:

#nmap 19216812 19216815

扫描一个范围内的目标,如下:

代码如下:

#nmap 19216811-100 (扫描IP地址为19216811-1921681100内的所有主机)

如果你有一个ip地址列表,将这个保存为一个txt文件,和namp在同一目录下,扫描这个txt内的所有主机,命令如下:

代码如下:

#nmap -iL targettxt

如果你想看到你扫描的所有主机的列表,用以下命令:

代码如下:

#nmap -sL 19216811/24

扫描除过某一个ip外的所有子网主机,命令:

代码如下:

#nmap19216811/24-exclude19216811

扫描除过某一个文件中的ip外的子网主机命令

代码如下:

#nmap19216811/24-excludefilexxxtxt(xxxtxt中的文件将会从扫描的主机中排除)

扫描特定主机上的80,21,23端口,命令如下

代码如下:

#nmap-p80,21,2319216811

从上面我们已经了解了Nmap的基础知识,下面我们深入的探讨一下Nmap的扫描技术

Tcp SYN Scan (sS) 这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势如果Nmap命令中没有指出扫描类型,默认的就是Tcp SYN但是它需要root/administrator权限

代码如下:

#nmap -sS 19216811

Tcp connect() scan(sT)如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect()Tcp connect()扫描技术只适用于找出TCP和UDP端口

代码如下:

#nmap -sT 19216811

Udp scan(sU)顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的

代码如下:

#nmap -sU 19216811

FINscan(sF)

有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手

代码如下:

<a href="mailto:root@bt:~#nmap-sF19216818">root@bt:~#nmap-sF19216818</a></p> <p>StartingNmap551at2012-07-0819:21PKTNmapscanreportfor19216818Hostisup(0000026slatency)Notshown:999closedportsPORTSTATESERVICE111/tcpopen|filteredrpcbind

FIN扫描也不会在目标主机上创建日志(FIN扫描的优势之一)个类型的扫描都是具有差异性的,FIN扫描发送的包只包含FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包

PINGScan(sP)

PING扫描不同于其它的扫描方式,因为它只用于找出主机是否是存在在网络中的它不是用来发现是否开放端口的PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用

代码如下:

#nmap-sP19216811

版本检测(sV)

版本检测是用来扫描目标主机和端口上运行的软件的版本它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本使用版本检测扫描之前需要先用TCPSYN扫描开放了哪些端口

代码如下:

#nmap-sV19216811

Idlescan(sL)

Idlescan是一种先进的扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标网络的主机发送数据包

代码如下:

#nmap-sL1921681619216811

Idlescan是一种理想的匿名扫描技术,通过目标网络中的19216816向主机19216811发送数据,来获取19216811开放的端口

有需要其它的扫描技术,如FTPbounce(FTP反d),fragmentationscan(碎片扫描),IPprotocolscan(IP协议扫描),以上讨论的是几种最主要的扫描方式

Nmap的OS检测(O)

Nmap最重要的特点之一是能够远程检测 *** 作系统和软件,Nmap的OS检测技术在渗透测试中用来了解远程主机的 *** 作系统和软件是非常有用的,通过获取的信息你可以知道已知的漏洞。Nmap有一个名为的nmap-OS-DB数据库,该数据库包含超过2600 *** 作系统的信息。Nmap把TCP和UDP数据包发送到目标机器上,然后检查结果和数据库对照。

代码如下:

InitiatingSYNStealthScanat10:21Scanninglocalhost(127001)[1000ports]Discoveredopenport111/tcpon127001CompletedSYNStealthScanat10:21,008selapsed(1000totalports)InitiatingOSdetection(try#1)againstlocalhost(127001)RetryingOSdetection(try#2)againstlocalhost(127001)

上面的例子清楚地表明,Nmap的首次发现开放的端口,然后发送数据包发现远程 *** 作系统。 *** 作系统检测参数是O(大写O)

Nmap的 *** 作系统指纹识别技术:

设备类型(路由器,工作组等)运行(运行的 *** 作系统) *** 作系统的详细信息( *** 作系统的名称和版本)网络距离(目标和攻击者之间的距离跳)

如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求-PN命令告诉Nmap不用ping远程主机。

代码如下:

#nmap-O-PN19216811/24

以上命令告诉发信主机远程主机是存活在网络上的,所以没有必要发送ping请求,使用-PN参数可以绕过PING命令,但是不影响主机的系统的发现

Nmap的 *** 作系统检测的基础是有开放和关闭的端口,如果OSscan无法检测到至少一个开放或者关闭的端口,会返回以下错误:

代码如下:

Warning:OSScanresultsmaybeunreliablebecausewecouldnotfindatleast1openand1closedport

OSScan的结果是不可靠的,因为没有发现至少一个开放或者关闭的端口

这种情况是非常不理想的,应该是远程主机做了针对 *** 作系统检测的防范。如果Nmap不能检测到远程 *** 作系统类型,那么就没有必要使用-osscan_limit检测。

想好通过Nmap准确的检测到远程 *** 作系统是比较困难的,需要使用到Nmap的猜测功能选项,–osscan-guess猜测认为最接近目标的匹配 *** 作系统类型。

代码如下:

#nmap-O--osscan-guess19216811

下面是扫描类型说明

-sTTCPconnect()扫描:这是最基本的TCP扫描方式。connect()是一种系统调用,由 *** 作系统提供,用来打开一个连接。如果目标端口有程序监听,connect()就会成功返回,否则这个端口是不可达的。这项技术最大的优点是,你勿需root权限。任何UNIX用户都可以自由使用这个系统调用。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。

-sSTCP同步扫描(TCPSYN):因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。你可以发出一个TCP同步包(SYN),然后等待回应。如果对方返回SYN|ACK(响应)包就表示目标端口正在监听;如果返回RST数据包,就表示目标端口没有监听程序;如果收到一个SYN|ACK包,源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接,这实际上有我们的 *** 作系统内核自动完成的。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。

-sF-sX-sN秘密FIN数据包扫描、圣诞树(XmasTree)、空(Null)扫描模式:即使SYN扫描都无法确定的情况下使用。一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进行监视,而且有些程序比如synlogger和courtney能够检测那些扫描。这些高级的扫描方式可以逃过这些干扰。些扫描方式的理论依据是:关闭的端口需要对你的探测包回应RST包,而打开的端口必需忽略有问题的包(参考RFC793第64页)。FIN扫描使用暴露的FIN数据包来探测,而圣诞树扫描打开数据包的FIN、URG和PUSH标志。不幸的是,微软决定完全忽略这个标准,另起炉灶。所以这种扫描方式对Windows95/NT无效。不过,从另外的角度讲,可以使用这种方式来分别两种不同的平台。如果使用这种扫描方式可以发现打开的端口,你就可以确定目标注意运行的不是Windows系统。如果使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫描显示有打开的端口,你可以确定目标主机可能运行的是Windwos系统。现在这种方式没有什么太大的用处,因为nmap有内嵌的 *** 作系统检测功能。还有其它几个系统使用和windows同样的处理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在应该抛弃数据包时,以上这些系统都会从打开的端口发出复位数据包。 

-sPping扫描:有时你只是想知道此时网络上哪些主机正在运行。通过向你指定的网络内的每个IP地址发送ICMPecho请求数据包,nmap就可以完成这项任务。如果主机正在运行就会作出响应。不幸的是,一些站点例如:microsoftcom阻塞ICMPecho请求数据包。然而,在默认的情况下nmap也能够向80端口发送TCPack包,如果你收到一个RST包,就表示主机正在运行。nmap使用的第三种技术是:发送一个SYN包,然后等待一个RST或者SYN/ACK包。对于非root用户,nmap使用connect()方法。在默认的情况下(root用户),nmap并行使用ICMP和ACK技术。注意,nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。如果你只是想知道目标主机是否运行,而不想进行其它扫描,才会用到这个选项。

-sUUDP扫描:如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务,可以使用这种扫描方法。nmap首先向目标主机的每个端口发出一个0字节的UDP包,如果我们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的。有些人可能会想UDP扫描是没有什么意思的。但是,我经常会想到最近出现的solarisrpcbind缺陷。rpcbind隐藏在一个未公开的UDP端口上,这个端口号大于32770。所以即使端口111(portmap的众所周知端口号)被防火墙阻塞有关系。但是你能发现大于30000的哪个端口上有程序正在监听吗使用UDP扫描就能!cDcBackOrifice的后门程序就隐藏在Windows主机的一个可配置的UDP端口中。不考虑一些通常的安全缺陷,一些服务例如:snmp、tftp、NFS使用UDP协议。不幸的是,UDP扫描有时非常缓慢,因为大多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如,在Linux内核中(在net/ipv4/icmph文件中)限制每4秒钟只能出现80条目标豢纱锏肾CMP消息,如果超过这个比例,就会给1/4秒钟的处罚。solaris的限制更加严格,每秒钟只允许出现大约2条ICMP不可达消息,这样,使扫描更加缓慢。nmap会检测这个限制的比例,减缓发送速度,而不是发送大量的将被目标主机丢弃的无用数据包。不过Micro$oft忽略了RFC1812的这个建议,不对这个比例做任何的限制。所以我们可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。

-sAACK扫描:这项高级的扫描方法通常用来穿过防火墙的规则集。通常情况下,这有助于确定一个防火墙是功能比较完善的或者是一个简单的包过滤程序,只是阻塞进入的SYN包。这种扫描是向特定的端口发送ACK包(使用随机的应答/序列号)。如果返回一个RST包,这个端口就标记为unfiltered状态。如果什么都没有返回,或者返回一个不可达ICMP消息,这个端口就归入filtered类。注意,nmap通常不输出unfiltered的端口,所以在输出中通常不显示所有被探测的端口。显然,这种扫描方式不能找出处于打开状态的端口。

-sW对滑动窗口的扫描:这项高级扫描技术非常类似于ACK扫描,除了它有时可以检测到处于打开状态的端口,因为滑动窗口的大小是不规则的,有些 *** 作系统可以报告其大小。这些系统至少包括:某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64UNIX、DG/UX、OpenVMS、DigitalUNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS4x、Ultrix、VAX、VXWORKS。从nmap-hackers邮件3列表的文档中可以得到完整的列表。

-sRRPC扫描。这种方法和nmap的其它不同的端口扫描方法结合使用。选择所有处于打开状态的端口向它们发出SunRPC程序的NULL命令,以确定它们是否是RPC端口,如果是,就确定是哪种软件及其版本号。因此你能够获得防火墙的一些信息。诱饵扫描现在还不能和RPC扫描结合使用。

-bFTP反d攻击(bounceattack):FTP协议(RFC959)有一个很有意思的特征,它支持代理FTP连接。也就是说,我能够从evilcom连接到FTP服务器targetcom,并且可以要求这台FTP服务器为自己发送Internet上任何地方的文件!1985年,RFC959完成时,这个特征就能很好地工作了。然而,在今天的Internet中,我们不能让人们劫持FTP服务器,让它向Internet上的任意节点发送数据。如同Hobbit在1995年写的文章中所说的,这个协议"能够用来做投递虚拟的不可达邮件和新闻,进入各种站点的服务器,填满硬盘,跳过防火墙,以及其它的骚扰活动,而且很难进行追踪"。我们可以使用这个特征,在一台代理FTP服务器扫描TCP端口。因此,你需要连接到防火墙后面的一台FTP服务器,接着进行端口扫描。如果在这台FTP服务器中有可读写的目录,你还可以向目标端口任意发送数据(不过nmap不能为你做这些)。传递给-b功能选项的参数是你要作为代理的FTP服务器。语法格式为:-busername:password@server:port。除了server以外,其余都是可选的。如果你想知道什么服务器有这种缺陷,可以参考我在Phrack51发表的文章。还可以在nmap的站点得到这篇文章的最新版本。

通用选项这些内容不是必需的,但是很有用。

-P0在扫描之前,不必ping主机。有些网络的防火墙不允许ICMPecho请求穿过,使用这个选项可以对这些网络进行扫描。microsoftcom就是一个例子,因此在扫描这个站点时,你应该一直使用-P0或者-PT80选项。

-PT扫描之前,使用TCPping确定哪些主机正在运行。nmap不是通过发送ICMPecho请求包然后等待响应来实现这种功能,而是向目标网络(或者单一主机)发出TCPACK包然后等待回应。如果主机正在运行就会返回RST包。只有在目标网络/主机阻塞了ping包,而仍旧允许你对其进行扫描时,这个选项才有效。对于非root用户,我们使用connect()系统调用来实现这项功能。使用-PT来设定目标端口。默认的端口号是80,因为这个端口通常不会被过滤。

-PS对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)。

-PI设置这个选项,让nmap使用真正的ping(ICMPecho请求)来扫描目标主机是否正在运行。使用这个选项让nmap发现正在运行的主机的同时,nmap也会对你的直接子网广播地址进行观察。直接子网广播地址一些外部可达的IP地址,把外部的包转换为一个内向的IP广播包,向一个计算机子网发送。这些IP广播包应该删除,因为会造成拒绝服务攻击(例如smurf)。

以上就是关于如何创建python开发环境全部的内容,包括:如何创建python开发环境、我的IP被修改怎么改回来啊、ip问题,求高手解答!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9688475.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存