set -x

set -x set指令能设置所使用shell的执行方式,可依照不同的需求来做设置 -a 标示已修改的变量,以供输出至环境变量。 -b 使被中止的后台程序立刻回报执行状态。 -C 转向所产生的文件无法覆盖已存在的文件。 -d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。 -e 若指令传回值不等于0,则立即退出shell。 -f 取消使用通配符。 -h 自动记录函数的所在位置。 -H Shell 可利用"!“加<指令编号>的方式来执行history中记录的指令。 -k 指令所给的参数都会被视为此指令的环境变量。 -l 记录for循环的变量名称。 -m 使用监视模式。 -n 只读取指令,而不实际执行。 -p 启动优先顺序模式。 -P 启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。 -t 执行完随后的指令,即退出shell。 -u 当执行时使用到未定义过的变量,则显示错误信息。 -v 显示shell所读取的输入值。 -x 执行指令后,会先显示该指令及所下的参数。 +<参数> 取消某个set曾启动的参数。

2011-12-10 · 1 min · 42 words · -

linux网络的热插拔

linux网络的热插拔 auto eth0:开机自动启动eth0,不管有沒有插上网线. 如果开机没有插上网线,系统也会让dhclient3去设定,这样只有等超时才能继续开机。 如果设为allow-hotplug eth0就不会出现上述情况,先不插网线,开机后再插网线也可以。但是在debian 里用/etc/init.d/networking restart后会出现网卡不能启动,要用ifup eth0 才行.

2011-12-06 · 1 min · 10 words · -

iw

iw Getting station statistics iw dev wlan1 station dump https://wireless.wiki.kernel.org/en/users/documentation/iw http://www.linuxquestions.org/questions/linux-wireless-networking-41/ifconfig-vs-iwconfig-268525/ iwconfig only deals with the wireless elements of a wireless card: the ESSID, WEP keys, etc. All the normal attributes of the network card (IP address, subnet mask etc) are assigned through ifconfig. The two utilities don’t overlap, and both are required to use the card (unless you’re using dhclient, in which case you won’t have to use ifconfig directly).

2011-12-05 · 1 min · 71 words · -

TUN, TAP

TUN, TAP 在计算机网络中,TUN与TAP是操作系统内核中的虚拟网络设备。不同于普通靠物理设备/硬件网卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能。 操作系统通过TUN/TAP设备向绑定该设备的用户空间的程序发送数据,反之,用户空间的程序也可以像操作硬件网络设备那样,通过TUN/TAP设备发送数据。在后种情况下,TUN/TAP设备向操作系统的网络栈投递 (或"注入") 数据包,从而模拟从外部接受数据的过程。 TUN/TAP虚拟网络设备为用户空间程序提供了网络数据包的发送和接收能力。他既可以当做点对点设备 (TUN) ,也可以当做以太网设备 (TAP) 。实际上,不仅Linux支持TUN/TAP虚拟网络设备,其他UNIX也是支持的,他们之间只有少许差别。 TUN/TAP 虚拟网络设备的原理比较简单,他在Linux内核中添加了一个TUN/TAP虚拟网络设备的驱动程序和一个与之相关连的字符设备 /dev/net/tun,字符设备tun作为用户空间和内核空间交换数据的接口。当内核将数据包发送到虚拟网络设备时,数据包被保存在设备相关的一个队列中,直到用户空间程序通过打开的字符设备tun的描述符读取时,它才会被拷贝到用户空间的缓冲区中,其效果就相当于,数据包直接发送到了用户空间。通过系统调用write发送数据包时其原理与此类似。 值得注意的是: 一次read系统调用,有且只有一个数据包被传送到用户空间,并且当用户空间的缓冲区比较小时,数据包将被截断,剩余部分将永久地消失,write系统调用与read类似,每次只发送一个数据包。所以在编写此类程序的时候,请用足够大的缓冲区,直接调用系统调用read/write,避免采用C语言的带缓存的IO函数。 tap/tun 是 Linux 内核 2.4.x 版本之后实现的虚拟网络设备 Linux 内核 2.6.x 之后的版本中,tap/tun 对应的字符设备文件分别为: tap: /dev/tap0 tun: /dev/net/tun tun/tap驱动程序实现了虚拟网卡的功能 TUN (namely network TUNnel) tun 表示虚拟的是点对点设备 TUN 模拟了网络层设备,操作(网络层)第三层(TCP/IP四层协议) 数据包比如IP数据封包。 TUN 模拟的是一个三层设备,也就是说,通过它可以处理来自网络层的数据,更通俗一点的说,通过它,我们可以处理 IP 数据包。 TAP (namely network tap), Terminal Access Point TAP设备 tap表示虚拟的是以太网设备 , TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。 TAP 设备与 TUN 设备工作方式完全相同,区别在于: TUN 设备是一个三层设备,它只模拟到了 IP 层,即网络层, 我们可以通过 /dev/tunX 文件收发 IP 层数据包,它无法与物理网卡做 bridge,但是可以通过三层交换 (如 ip_forward) 与物理网卡连通。可以使用ifconfig之类的命令给该设备设定 IP 地址。 TAP 设备是一个二层设备,它比 TUN 更加深入,通过 /dev/tapX 文件可以收发 MAC 层数据包,即数据链路层,拥有 MAC 层功能,可以与物理网卡做 bridge,支持 MAC 层广播。同样的,我们也可以通过ifconfig之类的命令给该设备设定 IP 地址,你如果愿意,我们可以给它设定 MAC 地址。 openvpn 在安装openvpn时,第一步就是要确认tun/tap是否开通 ...

2011-12-04 · 1 min · 116 words · -

无线网卡的工作模式

无线网卡的工作模式 无线网卡可以工作在多种模式之下。常见的有Master,Manged,ad-hoc,monitor等模式。 对于Master模式,它主要使用于无线接入点AP提供无线接入服务以及路由功能。可以想象我们使用的无线路由器就是工作在Master模式下了,不过对于普通的pc机来说,如果有合适的硬件它也可以变成一台无线AP。在LINUX下使用软件HOSTAP可以使一台linux pc具有ap功能,但目前HOSTAP的所支持的无线网卡有限,我的INTEL Centrino PRO 4965 wireless card就不被hostap所支持。 对于一般的无线网卡来说,它们最常见的模式还是managed,ad-hoc和monitor。Managed模式用于和无线AP进行接入连接,在这个模式下我们才可以进行无线接入internet上网。对于需要两台主机进行直连的情况下可以使用ad-hoc模式,这样主机之间是采用对等网络的方式进行连接。Monitor模式主要用于监控无线网络内部的流量,用于检查网络和排错。 Promiscuous和Monitor(RFMON)的区别 在传统的有限网络中,我们知道网卡可以工作在两种模式,即普通和混杂模式。在混杂模式(Promiscuous mode)下面,我们可以直接对以太网内部的流量进行监听。这个时候网卡不会区分流经其的数据包的目标地址是不是本机,一股脑儿的都将其截下供协议栈上层进行调用查看。这也正是传统的sniffer软件得以存在的一个根本基础。 无线网络和传统的有线以太网相比,有不同也有相似之处。无线局域网的信号传递完全是以无线电的方式进行广播传输的,这也就意味着每个人可以一定的装置来对无线电讯号进行接收并进行破解。所以无线局域网相对于有线网络来说更加的不安全。按照理论来说,当一个网卡连接到一个已知的无线网络之后,它应该可以和传统的以太网络一样能设置为混杂模式接受到所有的数据包。因为在无线的环境下所有的无线电讯号都可以被网卡接收,无线ap没有办法扮演一个交换机实现点对点的限制转发。但实际情况是,目前的驱动貌似还没进行足够的开发来支持这样的混杂模式,至少对于我的IPW4965是如此。 但这并不意味着没有办法对无线流量进行监听。无线网卡有着一个特殊的模式,即监听模式(monitor mode, or RFMON, Radio Frequence monitor mode)。上文已经说了所有的数据包都是以无线电信号来传输的,所以在这个模式下面网卡可以接收到所有它能够接收的无线电信号并试图进行解析,而不仅仅局限于它所连接的无线局域网。这样的模式对于无线局域网的发现机制来说有着根本的作用,也无形的提供了破解无线局域网的工具。一些工具如KISMET,NetStumbler等可以利用monitor模式来进行发现无线局域网的SSID和破解它的密码。 这样听起来,貌似monitor模式要远甚于promiscuous模式,但是对于无线局域网的软件开发来说,没有promicuous模式是一个很麻烦的事情。至少我现在还在对这方面进行研究。虽然看到了一点希望,如可以在monitor模式下进行数据包的注入,不过具体的实现还有待发掘。

2011-12-04 · 1 min · 23 words · -

VMWare 网络

VMWare 网络 http://bbs.ylmf.net/forum.php?mod=viewthread&tid=1764295&extra= VMWare虚拟系统上网设置及VMWare虚拟机三种工作模式详解 很多网友安装了VMWare虚拟机,但是在虚拟机上网问题上却卡住了。要想虚拟机上网,首先让我们了解一下VMWare虚拟机三种工作模式。现在,让我们一起走近VMWare的三种工作模式。 理解三种工作模式 VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手动为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。 使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。 如果是你是局域网上网方式,虚拟机使用网桥连接方式,只要设置虚拟机的IP地址与本机是同一网段,子网、网关、DNS与本机相同就能实现上网,也能访问局域网络。 如果你是拨号上网方式,虚拟机使用此种方式连接,就要在虚拟机内系统建立宽带连接、拨号上网,但是和 宿主机不能同时上网。 2.NAT(网络地址转换模式) 使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此使用NAT模式虚拟系统也就无法和本地局域网中的其他真实主机进行通讯。 采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网,虚拟机就能访问互联网。 设置上网方式: 本机网上邻居属性->VMnet8属性->TCP/IP属性->常规与备用配置都设定为自动获取,虚拟机网上邻居TCP/IP都设定为自动,虚拟网络设置设定如下面图所示 详细步骤: 1.把你的虚拟网卡VMnet8设置为自动获得IP、自动获得DNS 服务器,启用。 如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。 注释: 以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged (桥接) 模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供。 [url=][/url] 点击VMnet8,再点击开始按钮 [url=][/url] 点击开始按钮 [url=][/url] 3.host-only(主机模式) 在某些特殊的网络调试环境中,如何要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的,VMWare虚拟机不能访问互联网。 提示: 在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。 在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。 如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。 配置虚拟系统工作模式 在实际的工作中,由于用户的需求不同、调试环境的要求不同,不同的用户需要选择不同的工作模式,也许是bridged (桥接) 模式,也可能是NAT模式或host-only模式。不管选择使用何种工作模式,将虚拟系统配置成相应的工作模式是非常简单的,在"新建虚拟机向导"对话框中就可以完成。 在"新建虚拟机向导"对话框中一路点击"下一步"按钮,进入"网络类型"对话框后,就可以选择你所使用的工作模式。在"网络类型"对话框中有四个单选项,分别为bridged (桥接) 模式、NAT模式、host-only模式、不使用网络连接,选择你需要使用的工作模式后,点击"下一步"按钮,就可完成虚拟系统工作模式的配置。 [url=][/url] 注意:1.要确保VMware Network Adapter for VMnet8 处于启用状态,这个是NAT网络模式要用的虚拟网卡。注意这个网卡的IP地址,不需要做手动设置,切记! 2.把你虚拟机中操作系统的"本地连接"也设置为自动获得IP、自动获得DNS服务器 (在虚拟机中,右键"本地连接"-双击"Internet协议",看看是不是自动的吧!固定IP的也在这里改!) 3.当然是将虚拟机的上网方式选为NAT 。 在虚拟机里安装好操作系统,启动虚拟系统,打开IE浏览器,这时候正常的话虚拟机就可以上网了,切记!!虚拟系统中的网卡也不需要做任何设置。 右键你要设置的虚拟机选"设置" (因为有的不止虚拟一台) ,在"硬件"中选"以太网",将右边的网络连接改为NAT -确定。 4.点菜单栏里的"编辑"-选"虚拟网络设置",先将"自动桥接"给去掉 (去掉钩钩) ,再选"DHCP"开启DHCP服务,点"开始"-应用,再按同样的方法开启"NAT “的功能。 5.最重要的是你的两个服务必须开启: VMware DHCP Service 和VMware NATService. 具体操作如下: 开始——设置——控制面板——管理工具——服务,确保 VMwareDHCP Service和VMware NAT Service服务已经启动。 ...

2011-12-04 · 1 min · 118 words · -

linux 网桥

’linux 网桥' 安装过vmware的朋友应该都知道 vmware宿主和虚拟机上网的3中方式 桥接 NAT host-only 这3种方式的操作手法网上都有描述,我们工作中主要使用到了 第一种 桥接的方式 ,这种方式 最大的好处 就是能建立一个和宿主机 对等的网络, 实现vm 和整个局域网的通信 ,就像 宿主机和VM在一个交换机上 链接一样! **网桥的功能: ** 网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务, 即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了 解是靠"自学习"实现的。 当使用网桥连接两段LAN 时,网桥对来自网段1 的MAC 帧,首先要检查其终 点地址。如果该帧是发往网段1 上某一站的,网桥则不将帧转发到网段2 ,而将 其滤除;如果该帧是发往网段2 上某一站的,网桥则将它转发到网段2.这表明, 如果LAN1和LAN2上各有一对用户在本网段上同时进行通信,显然是可以实现的。 因为网桥起到了隔离作用。可以看出,网桥在一定条件下具有增加网络带宽 的作用。 **网桥工作流程如下: ** 检查收到的信号,解释0和1的含义,并找出帧中的目的MAC地址。 如果具有该目的的MAC地址的帧能够通过网桥上不同的接口到达目的地(不是帧到达网桥的那个接口),则通过重新生成信号来传输这帧。(这个过程叫做转发。) 如果该帧到达的接口就是目的地址可达到的端口,则丢弃该帧。(这个过程叫做过滤。) **为什么要使用网桥: ** 许多单位都有多个局域网,并且希望能够将它们连接起来。之所以一个单位有多个局域网,有以下6个原因: 首先,许多大学的系或公司的部门都有各自的局域网,主要用于连接他们自己的个人计算机、工作站以及服务器。由于各系(或部门)的工作性质不同,因此选用了不同的局域网,这些系(或部门)之间早晚需相互交往,因而需要网桥。 其次,一个单位在地理位置上较分散,并且相距较远,与其安装一个遍布所有地点的同轴电缆网,不如在各个地点建立一个局域网,并用网桥和红外链路连接起来,这样费用可能会低一些。 第3,可能有必要将一个逻辑上单一的LAN分成多个局域网,以调节载荷。例如采用由网桥连接的多个局域网,每个局域网有一组工作站,并且有自己的文件服务器,因此大部分通信限于单个局域网内,减轻了主干网的负担。 第4,在有些情况下,从载荷上看单个局域网是毫无问题的,但是相距最远的机器之间的物理距离太远(比如超过802.3所规定的2.5km)。即 使电缆铺设不成问题,但由于来回时延过长,网络仍将不能正常工作。唯一的办法是将局域网分段,在各段之间放置网桥。通过使用网桥,可以增加工作的总物理距 离。 第5,可靠性问题。在一个单独的局域网中,一个有缺陷的节点不断地输出无用的信息流会严重地破坏局域网的运行。网桥可以设置在局域网中的关键部位,就像建筑物内的放火门一样,防止因单个节点失常而破坏整个系统。 第6,网桥有助于安全保密。大多数LAN接口都有一种混杂工作方式(promiscuousmode),在这种方式下,计算机接收所有的帧,包括那些并不是编址发送给它的帧。如果网中多处设置网桥并谨慎地拦截无须转发的重要信息,那么就可以把网络分隔以防止信息被窃。 **linux 下 设置网桥的方式 (主要步骤) : ** 创建网桥设备 br0: brctl addbr br0 向br0中添加网卡 eth0 eth1 brctl addif eth0 brctl addif eth1 ...

2011-12-04 · 2 min · 232 words · -

中继器

中继器 中继器(REPEATER)中继器是网络物理层上面的连接设备。适用于完全相同的两类网络的互连,主要功能是通过对数据信号的重新发送或者转发,来扩大网络传输的距离。 中继器是对信号进行再生和还原的网络设备 OSI 模型的物理层设备 中继器是局域网环境下用来延长网络距离的最简单最廉价的互联设备,操作在OSI的物理层,中继器对在线路上的信号具有放大再生的功能。 中继器 (RP repeater) 是连接网络线路的一种装置,常用于两个网络节点之间物理信号的双向转发工作。中继器是最简单的网络互联设备,主要完成物理层的功能,负责在两个节点的物理层上按位传递信息,完成信号的复制、调整和放大功能,以此来延长网络的长度。由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。中继器就是为解决这一问题而设计的。它完成物理线路的连接,对衰减的信号进行放大,保持与原数据相同。一般情况下,中继器的两端连接的是相同的媒体,但有的中继器也可以完成不同媒体的转接工作。从理论上讲中继器的使用是无限的,网络也因此可以无限延长。事实上这是不可能的,因为网络标准中都对信号的延迟范围作了具体的规定,中继器只能在此规定范围内进行有效的工作,否则会引起网络故障。 中继器 (Repeater) 工作于OSI的物理层,是局域网上所有节点的中心,它的作用是放大信号,补偿信号衰减,支持远距离的通信。 中继器是一个小发明,它设计的目的是给你的网络信号以推动,以使它们传输得更远。 由于传输线路噪声的影响,承载信息的数字信号或模拟信号只能传输有限的距离,中继器的功能是对接收信号进行再生和发送,从而增加信号传输的距离。它是最简单的网络互连设备,连接同一个网络的两个或多个网段。如以太网常常利用中继器扩展总线的电缆长度,标准细缆以太网的每段长度最大185米,最多可有5段,因此增加中继器后,最大网络电缆长度则可提高到925米。一般来说,中继器两端的网络部分是网段,而不是子网。 中继器可以连接两局域网的电缆,重新定时并再生电缆上的数字信号,然后发送出去 同轴电缆; 这些功能是OSI模型中第一层-物理层的典型功能。中继器的作用是增加局域网的覆盖区域,例如,以太网标准规定单段信号传输电缆的最大长度为500米,但利用中继器连接4段电缆后,以太网中信号传输电缆最长可达2000米。有些品牌的中继器可以连接不同物理介质的电缆段,如细同轴电缆和光缆。 中继器只将任何电缆段上的数据发送到另一段电缆上,并不管数据中是否有错误数据或不适于网段的数据。 (1) 扩大了通信距离,但代价是增加了一些存储转发延时。 (2) 增加了节点的最大数目。 (3) 各个网段可使用不同的通信速率。 (4) 提高了可靠性。当网络出现故障时,一般只影响个别网段。 (5) 性能得到改善。 当然,使用中继器也有一定的缺点,例如: (1) 由于中继器对收到被衰减的信号再生 (恢复) 到发送时的状态,并转发出去,增加了延时。 (2) CAN总线的MAC子层并没有流量控制功能。当网络上的负荷很重时,可能因中继器中缓冲区的存储空间不够而发生溢出,以致产生帧丢失的现象。 (3) 中继器若出现故障,对相邻两个子网的工作都将产生影响。

2011-12-04 · 1 min · 38 words · -

Linux网桥分析

Linux网桥分析 http://hi.baidu.com/zkheartboy/blog/item/9d1c392e42b44a544ec2263b.html 一、网桥原理 网桥 (Bridge) 也称桥接器,是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。一般情况下,被连接的网络系统都具有相同的逻辑链路控制规程 (LLC) ,但媒体访问控制协议 (MAC) 可以不同。 网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个"低层的路由器" (路由器工作在网络层,根据网络地址如IP地址进行转发) 。 远程网桥通过一个通常较慢的链路 (如电话线) 连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。 二、Linux网桥的使用 要配置网桥,要网桥的配置工具bridge-utils。源代码可以在http://bridge.sourceforge.net/bridge-utils/ 下载。编译成功之后,生成网桥配置的工具名称为brctl。 配置说明: 有五台主机。其中一台主机装有linux ,安装了网桥模块,而且有四块物理网卡,分别连接同一网段的其他主机。我们希望其成为一个网桥,为其他四台主机(IP分别为192.168.1.2 ,192.168.1.3,192.168.1.4,192.168.1.5) 之间转发数据包。同时,为了方便管理,希望网桥能够有一个IP (192.168.1.1) ,那样管理员就可以在192.168.1.0/24网段内的主机上telnet到网桥,对其进行配置,实现远程管理。 我们为这个逻辑网段一个名称,br_192。首先需要配置这样一个逻辑网段。 brctl addbr br_192 (建立一个逻辑网段,名称为br_192) 实际上,我们可以把逻辑网段192.168.1.0/24看作使一个VLAN ,而br_192则是这个VLAN的名称。 建立一个逻辑网段之后,我们还需要为这个网段分配特定的端口。在Linux中,一个端口实际上就是一个物理网卡。而每个物理网卡的名称则分别为 eth0,eth1,eth2,eth3。我们需要把每个网卡一一和br_192这个网段联系起来,作为br_192中的一个端口。 brctl addif br_192 eth0 (让eth0成为br_192的一个端口) brctl addif br_192 eth1 (让eth1成为br_192的一个端口) brctl addif br_192 eth2 (让eth2成为br_192的一个端口) brctl addif br_192 eth3 (让eth3成为br_192的一个端口) 网桥的每个物理网卡作为一个端口,运行于混杂模式,而且是在链路层工作,所以就不需要IP了。 ifconfig eth0 0.0.0.0 ifconfig eth1 0.0.0.0 ifconfig eth2 0.0.0.0 ifconfig eth3 0.0.0.0 然后给br_192的虚拟网卡配置IP: 192.168.1.1。那样就能远程管理网桥。 ...

2011-12-04 · 1 min · 148 words · -

混杂模式

混杂模式 https://zdyxry.github.io/2020/03/18/%E7%90%86%E8%A7%A3%E7%BD%91%E5%8D%A1%E6%B7%B7%E6%9D%82%E6%A8%A1%E5%BC%8F/ 理解网卡混杂模式 背景 我自己会在虚拟机验证一些网络配置,比如在虚拟机内部创建 OVS Bridge 之类的操作。当 Hypervisor 是 vSphere ESXi 时,通常需要在 ESXi 的虚拟交换机上开启混杂模式,今天来说一说网络的混杂模式。 网卡工作模式 网卡有以下几种工作模式,通常网卡会配置广播和多播模式: 广播模式 (Broad Cast Model) :它的物理地址地址是 0Xffffff 的帧为广播帧,工作在广播模式的网卡接收广播帧。它将会接收所有目的地址为广播地址的数据包,一般所有的网卡都会设置为这个模式 多播传送 (MultiCast Model) : 多播传送地址作为目的物理地址的帧可以被组内的其它主机同时接收,而组外主机却接收不到。但是,如果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不论它是不是组内成员。当数据包的目的地址为多播地址,而且网卡地址是属于那个多播地址所代表的多播组时,网卡将接纳此数据包,即使一个网卡并不是一个多播组的成员,程序也可以将网卡设置为多播模式而接收那些多播的数据包。 直接模式 (Direct Model) :工作在直接模式下的网卡只接收目地址是自己 Mac 地址的帧。只有当数据包的目的地址为网卡自己的地址时,网卡才接收它。 混杂模式 (Promiscuous Model) :工作在混杂模式下的网卡接收所有的流过网卡的帧,抓包程序就是在这种模式下运行的。网卡的缺省工作模式包含广播模式和直接模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,网卡将接受同一网络内所有所发送的数据包,这样就可以到达对于网络信息监视捕获的目的。它将接收所有经过的数据包,这个特性是编写网络监听程序的关键。 混杂模式 nic1 nic1 混杂模式 (promiscuous mode) 是计算机网络中的术语。是指一台机器的网卡能够接收所有经过它的数据流,而不论其目的地址是否是它。 一般计算机网卡都工作在非混杂模式下,此时网卡只接受来自网络端口的目的地址指向自己的数据。当网卡工作在混杂模式下时,网卡将来自接口的所有数据都捕获并交给相应的驱动程序。网卡的混杂模式一般在网络管理员分析网络数据作为网络故障诊断手段时用到,同时这个模式也被网络黑客利用来作为网络数据窃听的入口。在Linux操作系统中设置网卡混杂模式时需要管理员权限。在Windows操作系统和Linux操作系统中都有使用混杂模式的抓包工具,比如著名的开源软件Wireshark。 查看网卡是否开启混杂模式 [root@node1 21:06:51 ~]$ifconfig ens192 ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.17.88 netmask 255.255.240.0 broadcast 192.168.31.255 inet6 fe80::20c:29ff:fe99:4eb2 prefixlen 64 scopeid 0x20 ether 00:0c:29:99:4e:b2 txqueuelen 1000 (Ethernet) RX packets 163692 bytes 10031607 (9.5 MiB) RX errors 0 dropped 110 overruns 0 frame 0 TX packets 1751 bytes 175974 (171.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ...

2011-12-04 · 2 min · 226 words · -

Telnet, SSH

Telnet, SSH Telnet telnet: TCP/IP终端仿真协议 (TCP/IP Terminal Emulation Protocol): 通过TCP建立服务器与客户机之间的连接。连接后,TELNET服务器与客户机进入协商阶段 (决定可选项) ,选定双方都支持连接操作每个连接系统可以协商可选项或重协商旧可选项 (在任何时候) 。通常TELNET任一端尽量执行所有可选项以实现系统最大化性能。 在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制 Web服务器的方法。 传统telnet连线会话所传输的资料并未加密,这代表所输入和显示的资料,包括帐号名称及密码等敏感数据,可能会遭其他人窃听,因此有许多服务器会将telnet服务关闭,改用更为安全的SSH。 SSH Secure Shell Protocol SSH是一种在不安全网络上提供安全远程登陆及其他安全网络服务的协议.SSH是指Secure shell,SSH协议族由IETF(internet engineering task force)的network working group制定,SSH协议的内容SSH协议是建立在应用层和传输层基础上的安全协议.传统的网络服务程序,如FTP,POP和TELNET其本质上都是不安全的;因为它们在网络上用明文传送数据,用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击.就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后在冒充用户把数据传给真正的服务器.SSH是目前比较可靠的远程登录会话和其他网络服务提供安全性的协议.利用SSH协议可以有效防止远程管理过程中的信息泄露问题.通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗.SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以加以加快传输的速度.SSH有很多功能,它既可以代替TELNET,又可能为FTP,POPPPP提供一个安全的"通道".

2011-12-04 · 1 min · 28 words · -

telnet, nc, socat

telnet, nc, socat archlinux install telnet pacman -S inetutils telnet 退出 ctrl+] quit nc TCP: nc host port UDP: nc -u host port (this does not seem to supported out of the box) 用 telent 发送 http get 请求 telnet www.wiloon.com 80 GET / HTTP/1.1 host: www.wiloon.com Telnet 客户端命常用命令: open : 使用 openhostname 可以建立到主机的 Telnet 连接。 close : 使用命令 close 命令可以关闭现有的 Telnet 连接。 display : 使用 display 命令可以查看 Telnet 客户端的当前设置。 send : 使用 send 命令可以向 Telnet 服务器发送命令。支持以下命令: ...

2011-12-04 · 1 min · 184 words · -

IP 0.0.0.0

IP 0.0.0.0 通常情况下,网络中所说的0.0.0.0的IP地址表示整个网络,即网络中的所有主机。 但在一些老的软件中,他们可能将0.0.0.0做为广播地址使用,即他们发送广播数据包时,目标地址址不是255.255.255.255,而是0.0.0.0。所以,当协议分析软件抓到IP是0.0.0.0的主机时,表示网络存在将0.0.0.0做为广播地址进行通讯的情况,而不是代表整个网络。 注意: 0.0.0.0做为广播地址已经基本上被废弃,当前的网络程序或设备一般都不会将0.0.0.0做为广播地址。 在网络中出现0.0.0.0时,我们需要检查该数据包的源主机,检查其是否是人为手动使用某些老的软件产生的这种数据包,或者是由于某些非法攻击产生的该数据包。

2011-12-04 · 1 min · 7 words · -

网桥

网桥 作者: kendo(http://www.skynet.org.cn/) 第一部份 源码框架 一、网桥原理 传统的中继器,如HUB,是一个单纯的物理层设备,它将每一个收到的数据包,在其所有的端口上广播,由接收主机来判断这个数据包是否是给自己的。这样,网络资源被极大的浪费掉了。 网桥之所以不同于中继器,主要在于其除了有中继的作用外,还有一个更重要的作用,就是学习MAC地址,然后根据每个数据包的目的MAC与自身端口的对应,从关联端口发送数据,而不完全地在整个网段中进行广播。所以,网桥的实现中,有两个关键点: 学习MAC地址,起初,网桥是没有任何地址与端口的对应关系的,它发送数据,还是得想HUB一样,但是每发送一个数据,它都会关心数据包的来源MAC是从自己的哪个端口来的,由于学习,建立地址-端口的对照表 (CAM表) 。 每发送一个数据包,网桥都会提取其目的MAC地址,从自己的地址-端口对照表(CAM表)中查找由哪个端口把数据包发送出去。 网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务,即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了解是靠"自学习"实现的。 当使用网桥连接如图2所示的两段LAN时,网桥对来自网段1的MAC帧,首先要检查其终点地址。如果该帧是发往网段1上某一站的,网桥则不将帧转发到网段2,而将其滤除;如果该帧是发往网段2上某一站的,网桥则将它转发到网段2。这表明,如果LAN1和LAN2上各有一对用户在本网段上同时进行通信,显然是可以实现的。因为网桥起到了隔离作用。可以看出,网桥在一定条件下具有增加网络带宽的作用。 网桥的存储和转发功能与中继器相比有优点也有缺点,其优点是: .使用网桥进行互连克服了物理限制,这意味着构成LAN的数据站总数和网段数很容易扩充。 .网桥纳入存储和转发功能可使其适应于连接使用不同MAC协议的两个LAN。 因而构成一个不同LAN混连在一起的混合网络环境。 .网桥的中继功能仅仅依赖于MAC帧的地址,因而对高层协议完全透明。 .网桥将一个较大的LAN分成段,有利于改善可靠性、可用性和安全性。 网桥的主要缺点是: .由于网桥在执行转发前先接收帧并进行缓冲, 与中继器相比会引入理多时延。 .由于网桥不提供流控功能,因此在流量较大时有可能使其过载, 从而造成帧的丢失。 网桥的优点多于缺点正是其广泛使用的原因。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网络1 和网络2 通过网桥连接后,网桥接收网络1 发送的数据包,检查数据包中的地址,如果地址属于网络1 ,它就将其放弃,相反,如果是网络2 的地址,它就继续发送给网络2.这样可利用网桥隔离信息,将同一个网络号划分成多个网段 (属于同一个网络号) ,隔离出安全网段,防止其他网段内的用户非法访问。由于网络的分段,各网段相对独立 (属于同一个网络号) ,一个网段的故障不会影响到另一个网段的运行。 网桥可以是专门硬件设备,也可以由计算机加装的网桥软件来实现,这时计算机上会安装多个网络适配器 (网卡) 。 网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务,即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了解是靠"自学习"实现的,有透明网桥、转换网桥、封装网桥、源路由选择网桥。 当使用网桥连接两段LAN 时,网桥对来自网段1 的MAC 帧,首先要检查其终点地址。如果该帧是发往网段1 上某一站的,网桥则不将帧转发到网段2 ,而将其滤除;如果该帧是发往网段2 上某一站的,网桥则将它转发到网段2,这表明,如果LAN1和LAN2上各有一对用户在本网段上同时进行通信,显然是可以实现的。 因为网桥起到了隔离作用。可以看出,网桥在一定条件下具有增加网络带宽的作用。 网桥的存储和转发功能与中继器相比有优点也有缺点,其优点是: 使用网桥进行互连克服了物理限制,这意味着构成LAN 的数据站总数和网段数很容易扩充。 网桥纳入存储和转发功能可使其适应于连接使用不同MAC 协议的两个LAN,因而构成一个不同LAN 混连在一起的混合网络环境。 网桥的中继功能仅仅依赖于MAC 帧的地址,因而对高层协议完全透明。 网桥将一个较大的LAN 分成段,有利于改善可靠性、可用性和安全性。 网桥的主要缺点是: 由于网桥在执行转发前先接收帧并进行缓冲,与中继器相比会引入更多时延。由于网桥不提供流控功能,因此在流量较大时有可能使其过载,从而造成帧的丢失。 网桥的优点多于缺点正是其广泛使用的原因。 网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个"低层的路由器" (路由器工作在网络层,根据网络地址如IP地址进行转发) 。 远程网桥通过一个通常较慢的链路 (如电话线) 连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。 网桥与路由器的比较 ...

2011-12-04 · 1 min · 193 words · -

STP

STP http://hghhghwh.blog.163.com/blog/static/1338973120118413725683/ STP (Spanning Tree Protocol) 是生成树协议的英文缩写。 该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。 STP定义在 IEEE 802.1D 中,是一种链路管理协议,它为网络提供路径冗余同时防止产生环路。为使以太网更好地工作,两个工作站之间只能有一条活动路径。网络环路的发生有多种原因,最常见的一种是有意生成的冗余 - 万一一个链路或交换机失败,会有另一个链路或交换机替代。 STP的基本原理是,通过在交换机之间传递一种特殊的协议报文 (在IEEE 802.1D中这种协议报文被称为"配置消息") 来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。 技术原理: STP的基本思想就是生成"一棵树",树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥开始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。 功能介绍: 生成树协议最主要的应用是为了避免局域网中的网络环回,解决成环以太网网络的"广播风暴"问题,从某种意义上说是一种网络保护技术,可以消除由于失误或者意外带来的循环连接。STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合ITU-T 802.1d标准的生成树协议STP及802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。 但是,由于协议机制本身的局限,STP保护速度慢 (即使是1s的收敛速度也无法满足电信级的要求) ,如果在城域网内部运用STP技术,用户网络的动荡会引起运营商网络的动荡。目前在MSTP 组成环网中,由于SDH保护倒换时间比STP协议收敛时间快的多,系统采用依然是SDH MS-SPRING或SNCP,一般倒换时间在50ms以内。但测试时部分以太网业务的倒换时间为0或小于几个毫秒,原因是内部具有较大缓存。SDH保护倒换动作对MAC层是不可见的。这两个层次的保护可以协调工作,设置一定的"拖延时间"(hold-off),一般不会出现多次倒换问题。

2011-12-04 · 1 min · 28 words · -

shell, bash, csh, sh, ksh, dash, zsh

‘shell, bash, csh, sh, ksh, dash, zsh’ https://blog.csdn.net/lina_acm/article/details/51815080 Linux中的shell有多种类型,其中最常用的几种是Bourne shell (sh) 、C shell (csh) 和Korn shell (ksh) 。三种shell各有优缺点。Bourne shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux操作系统缺省的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell和Korn shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。 shell 脚本第一行以 !/bin/bash 开头, 表示由/bin/bash负责解释. !/bin/sh !/bin/csh !/usr/bin/perl !/bin/php !/bin/expect 都是脚本常用的开头。 ! 用来指定解释脚本的程序,可以是 Shell,也可以是其他程序 有一个非常奇怪的名字,叫shbang line !叫做Magic number 按照下面的方式来解释执行shell脚本 如果shell脚本的第一个非空白字符不是"#",则它会使用Bourne shell。 如果shell脚本的第一个非空白字符是"#",但不以"#!“开头时,则它会使用C shell。 如果外壳脚本以”#!“开头,则” #!“后面所跟的字符串就是所使用的shell的绝对路径 名。Bourne shell的路径名称为/bin/sh ,而C shell则为/bin/csh。 sh (Bourne Shell) : 由Steve Bourne开发,各种UNIX系统都配有sh。 csh (C Shell) : 由Bill Joy开发,随BSD UNIX发布,它的流程控制语句很像C语言,支持很多Bourne Shell所不支持的功能: 作业控制,命令历史,命令行编辑。 ...

2011-12-04 · 1 min · 134 words · -

kvm 磁盘

kvm 磁盘 http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=302055 固定大小虚拟磁盘效率最高 虚拟磁盘效率最大决定因素在于碎片,而非格式。通常用的动态大小磁盘映像虽然灵活,但其效率自然不如固定大小。以往很多人因创建固定磁盘费时费力而直接使用物理磁盘,不仅有相当风险,且有不便之处,也未必能满足所需功能。 xfs 和 NTFS 早已支持空间预分配,但 ext 系列直到 ext4 才支持该功能。现如今,ext4 已然稳定。用 fallocate 命令在其上创建固定大小的 raw 格式映像甚为简单,创建速度与 qemu-img 创建的稀疏文件无异,瞬间完成。比如: fallocate -l 15G disk1.img virtio 提高的效率是什么效率 直接给 qemu 用 -hda 指定硬盘,谁用谁知道,慢如蜗牛不说,还能听见磁头辛勤地哀鸣,心痛不?网上有人说 cache=writeback ,没错,这是关键,速度快了不说,也不用再担心磁头累跨了。还有人说 if=virtio ,更有甚者 virtio 与 writeback 不可兼得,晕不?其实 virtio 节省的只不过是 CPU 模拟设备所需的运算时间,并不能降低磁盘访问,只有 writeback 才是关键。当然,若你愿意完全可两者并用, if=virtio,cache=writeback 没有任何问题。所谓有问题只不过是拿那已安装的 Windows 来更改设备造成的。 virtio 安装 Windows 小问题 对于新磁盘映像,用 if=virtio 安装 WindowsXP/2003 加载驱动后,依然会碰到找不到某某文件问题。因为一个 bug 没错,但也不能指望微软修正,设法绕过吧。 随便弄张 Linux LiveCD 启动,用 fdisk /dev/vda 为其分区 (一定要 fdisk 而非 cfdisk ,其它未试) ,全部大小只用于一个主分区,指定分区 ID 标志为 0x0b 。再用 mkfs.vfat /dev/vda1 创建文件系统。重新启动 Windows 安装便可绕过上述 bug 。 ...

2011-12-04 · 1 min · 125 words · -

debian wlan0 wpa/psk

debian wlan0 wpa/psk 1.添加wpa-psk支持,在debian下是这个插件wpasupplicant apt-get install wpasupplicant 可查看debian wiki [code] http://wiki.debian.org/WiFi/HowToUse#wpa_supplicant 2.修改/etc/network/interfaces项,如下: [code] iface wlan0 inet dhcp wpa-driver wext wpa-ssid DFERG wpa-proto WPA wpa-pairwise TKIP wpa-group TKIP wpa-key-mgmt WPA-PSK wpa-psk fcb3717c5f66e893d9010a6872436b34686618a3e8fa2833d56bb98b41be5c8d 3.最关键的WPA-PSK项,之前一直无法连接,经google,原来此处不能写入明文密码,需要通过wpa-passphrase转换的,如下: [code] wpa_passphrase <your_essid> <your_assic_key> 例如: ```bash wpa_passphrase DFERG 100200300b network={ ssid="DFERG" #psk="100200300b" psk=fcb3717c5f66e893d9010a6872436b34686618a3e8fa2833d56bb98b41be5c8d } 原文地址: http://hi.baidu.com/tanmeng_sino/blog/item/8b3526f5781d65e77709d735.html

2011-12-03 · 1 min · 48 words · -

debian 网络配置

debian 网络配置 /etc/network/interfaces #wlan auto wlan0 iface wlan0 inet dhcp wpa-ssid "xxxx" wpa-psk "xxxx" 话说Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/etc/sysconfig/network-scripts目录下 面的一大堆文件里面,要修改?你一个一个文件来过吧。Debian系的则是存在/etc/network/interfaces文件里面,无论有多少块网 卡,统统扔在这个文件里。下面就来看一下这个文件的内容。 首先,一个基本的配置大概是下面这个样子: 1 auto lo 2 iface lo inet loopback 3 4 # The primary network interface 5 auto eth0 6 iface eth0 inet static 7 address 192.168.0.42 8 network 192.168.0.0 9 netmask 255.255.255.0 10 broadcast 192.168.0.255 11 gateway 192.168.0.1 上面的配置中, 第1行跟第5行说明lo接口跟eth0接口会在系统启动时被自动配置; 第2行将lo接口设置为一个本地回环 (loopback) 地址; 第6行指出eth0接口具有一个静态的 (static) IP配置; 第7行-第11行分别设置eth0接口的ip、网络号、掩码、广播地址和网关。 再来看一个更复杂点的: ...

2011-12-03 · 2 min · 358 words · -

linux 网络命令

linux 网络命令 iwconfig 和 iwpriv。iwconfig 用于配置一些比较 general 的功能,如 ESSID、AP 的 MAC 地址、mode、频道、速率等。和 ifconfig 类似,不加任何参数的时候显示 /proc/net/wireless 的内容;而 iwpriv 则配置比较 private 的内容,和各个网卡相关的东西,可以用 -a 获得所有可以执行的命令。下面是这些命令的说明: iwevent 显示 wireless 事件,主要是驱动程序或者配置更新的事件。 iwgetid 获得当前连接网络的信息,相对于 iwconfig 更适合写脚本使用。 iwlist 用于显示无线网络的各种信息,通过 scaning 网络中 AP 获得。 iwspy 用于获取无线网络某些节点上的统计信息。 1.查看网卡型号: lsmod | grep iw 2.查看网卡信息: iwconfig 查看附近可用的无线接入点 (AP) iwlist wlan0 scan ifconfig wlan0 up ifconfig wlan0 down

2011-12-03 · 1 min · 56 words · -