公司到底能不能监控到微信聊天?

有朋友私信问我一个问题,公司在公司用微信聊天,到底用公司网络,不能监公司能看到聊天内容吗?微信
坦率地说,以前从来没有分析过微信这类聊天软件,聊天大概率使用私有协议。公司而私有协议在协议分析软件上的到底呈现,一般都是不能监TCP封装一长串字节流,而这些字节流究竟是微信什么内容,协议软件无法给出答案!聊天看看协议分析软件能否看到微信网页版、公司手机APP版的到底聊天内容?
一、网页版微信
1.协议分析结果
不知道大家看到“美女好[玫瑰]”哇,不能监这个就是微信协议分析软件分析出来的聊天内容。
2.真实聊天内容

一摸一样!聊天
3.实验结论
协议分析软件可以将聊天内容解密出来!
4.实验分析
网页版微信通常是使用浏览器来与微信服务器通信的,而浏览器多种多样,有Chrome、Firefox、IE等等,要想与不同的厂商浏览器通信,必须使用标准协议,而标准协议在协议分析软件上是可以解开的IT技术网。
考虑到网页版的微信,可能会使用SSL/TLS加密聊天内容,需要用Fiddle作为中间人,用Fiddle伪造的证书来欺骗浏览器,让浏览器误以为Fiddle就是微信服务器。Fiddle再与微信服务器建立SSL/TLS加密通道,传输聊天内容。

二、手机版微信
协议分析结果
微信手机版没有使用TLS + HTTP= HTTPS的加密传输方式,而是使用了HTTP的传输方式,如上图所示。
每一个报文大概是这个样子的:

除了HTTP 报文头(HTTP Header)是明文的,HTTP报文体(HTTP Body)看起来是一堆杂乱无章的字节流。
没有找到聊天的任何内容。亿华云最最滑稽的是,当发送聊天内容时,Fiddle没有任何反应!
意味着发送聊天内容的报文既不是HTTP,也不是HTTPS,那很可能是TCP、或UDP协议原始(Raw)封装。
为了确认到底是TCP还是UDP传输报文,特意去了微信研发公众号去确认,得到的确认是采用TCP传输。分为两种连接方式:
长连接:TCP + 私有协议 + MMTLS + 业务层 短连接:TCP + HTTP + MMTLS + 业务层官方的口径是,短连接是为了兼容老版本的软件,而长连接完全是私有实现,所以造成Fiddle没有捕获到,毕竟Fiddle只能捕获到HTTP或HTTPS,至于其它的协议压根不在其感兴趣范围!
于是香港云服务器,使用Wireshark捕获微信长连接的TCP报文,确实捕获到了,再怎么私有实现,总不能长翅膀飞!但是这些TCP报文没有展示的意义,TCP头之后字段全是杂乱无章的,这些都在预料之中!
MMTLS是什么样的存在?
MMTLS是TLS1.3版本的改良版,或者说简化版。在微信决定使用MMTLS之前,TLS1.3版本长期逗留在草案状态,没有形成一个最终标准。于是微信决定采用TLS1.3草案中的标准,大刀阔斧砍掉客户端认证这个环节,只保留服务器认证。
手机微信APP里预置了微信服务器的两件秘密武器:
ECDSA公钥 静态ECDH公钥ECDSA公钥是干嘛的?
ECDSA用于验证服务器的真实身份,任何来自于服务器的MMTLS协商报文,只要使用ECDSA私钥签名的,ECDSA公钥都可以解密。换句话说,如果签名部分可以使用ECDSA公钥解密,那就证明是真正微信服务器发送的!
在微信的私有实现里,不需要CA,微信客户端凭借预置的ECDSA公钥完成服务器的认证!
静态ECDH公钥又是干嘛的?
如果微信客户端想最小延迟(0 RTT)发消息,可以直接生成自己的ECDH私钥、公钥、Nonce,再加上服务器预置的Nonce。就可以单方面计算出Pre-Master Key ,Master Key , Session Key,进而将消息加密发出。
微信服务器收到消息的同时,一同收到的还有客户端的ECDH公钥、客户端Nonce,服务器用自己的ECDH私钥、预留在客户端的Nonce,这四个参数,计算出可以解密消息的Key,并将消息解密出。
MMTLS没有给消息增加额外的延迟,称这种通信为 0 RTT通信。
由于微信客户端,强制使用服务器的ECDSA公钥来认证服务器的身份,所以Fiddle压根没法欺骗微信APP。如果Fiddle强制替换,微信客户端会放弃连接服务器,造成的后果就是微信永远登录不了服务器!
微信APP之所以可以实现私有协议,是因为服务器、客户端都是微信的代码,再怎么私有,理解起来也没有任何障碍!
三、最终结论
微信网页版:使用公司网络,公司可以看到聊天内容,无论使用的是公司电脑还是个人电脑。但是如果使用4G网络,流量没走公司,公司自然也无法看到聊天内容。 微信手机版:使用私有协议通信,手机APP嵌入了服务器的公钥,APP只认与这个公钥一一对应的私钥签名。使用其它私钥签名的一概不认,所以无法欺骗微信APP。使用微信手机版聊天是安全的,无论是使用公司网络还是4G网络,公司都无法看到聊天内容。本文地址:http://www.bzve.cn/html/380b65098969.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
相关文章
用姓氏头像制作教程(轻松制作个性化姓氏头像,让电脑与个人独特结合)
说明:系统:Ubuntu Server 11.10系统:Windows Server 2003################################################################################################### Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesnt use lo0# Accepts all established inbound connections# Allows all outbound traffic-A OUTPUT -j ACCEPT-A INPUT -p tcp --dport 80 -j ACCEPT-A INPUT -p tcp --dport 873 -j ACCEPT# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE# Now you should read up on iptables rules and consider whether ssh access# Allow ping# log iptables denied calls (access via dmesg command)# Reject all other inbound - default deny unless explicitly allowed policy:-A FORWARD -j REJECT##################################################################################################ctrl+o #保存ctrl+x #退出备注:873是Rsync端口iptables-restore < /etc/iptables.default.rules #使防火墙规则生效nano /etc/network/if-pre-up.d/iptables #创建文件,添加以下内容,使防火墙开机启动###########################################################!/bin/bashwhereis rsync #查看系统是否已安装rsync,出现下面的提示,说明已经安装ctrl+o #保存log file = /var/log/rsyncd.log #日志文件位置,启动rsync后自动产生这个文件,无需提前创建。/etc/init.d/rsync start #启动Next 下一步Next默认安装路径 C:Program FilescwRsyncInstall 安装Close 安装完成,关闭3、测试是否与Rsync服务端通信成功开始-运行-cmd输入cd C:Program FilescwRsyncbin 回车再输入telnet 192.168.21.168 873 回车出现下面的界面,说明与Rsync服务端通信成功备注 C:Program FilescwRsyncbin 是指cwRsync程序安装路径4、cwRsync客户端同步Rsync服务端的数据开始-运行-cmd,输入cd C:Program FilescwRsyncbin 回车再输入rsync -vzrtopg --progress --delete mysqlbakuser@192.168.21.168::MySQL_Backup /cygdrive/d/mysql_data输入密码:123456 回车出现下面的界面,说明数据同步成功可以打开D:mysql_data 与Rsync服务端/home/mysql_data目录中的数据对比一下,查看是否相同d/mysql_data 代表D:mysql_data192.168.21.168 #Rsync服务端IP地址-vzrtopg --progress #显示同步过程详细信息三、在cwRsync客户端的任务计划中添加批处理脚本文件,每天凌晨3:00钟自动同步Rsync服务端/home/mysql_data目录中的数据到D:mysql_data目录1、打开C:Program FilescwRsyncbin目录,新建passwd.txt输入123456保存继续在C:Program FilescwRsyncbin目录,新建MySQL_Backup.bat输入echo.echo.rsync -vzrtopg --port=873 --progress --delete mysqlbakuser@192.168.21.168::MySQL_Backup /cygdrive/d/mysql_data < passwd.txtecho 数据同步完成echo.最后保存退出2、添加批处理脚本到Windows任务计划开始-设置-控制面板-任务计划打开添加任务计划,下一步浏览,选择打开C:Program FilescwRsyncbin目录里面的MySQL_Backup.bat执行这个任务:选择每天,下一步起始时间:3:00运行这个任务:每天,下一步输入Windows系统管理员的登录密码,下一步完成扩展说明:假如要调整同步的时间,打开任务计划里面的MySQL_Backup切换到日程安排来选项设置,还可以打开高级来设置每隔几分钟运行一次MySQL_Backup.bat这个脚本至此,Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步完成
今天查了一下,squid对dns的支持是这样一个原理: 1、假如dns server发送域名时带有ttl,则以此ttl为准,一般dns server都会带有对ttl的支持,现在我用的dnsmasq默认ttl是0。 2、假如dns server没发送ttl(ttl=0),squid就以自己的配置positive_dns_ttl为准,这个配置默认是6小时。 3、原先squid里配置的一个negative_dns_ttl,证实是配错了,这个配置指的是squid在取不到域名(出错)的情况下会多久再去重取。 我原先的情况是positive_dns_ttl和dns server的ttl都没有配置而配置了negative_dns_ttl,这时squid以默认的positive_dns_ttl为准,即6小时,这个时间对web服务器来说太长了。当前我解决的办法是修改dns server的ttl为60 有些朋友可能是用bind来做的dns,bind可能默认的ttl并不是0,所以用positive_dns_ttl配置不起效的话,修改ttl值就好。 附:检测dns服务器ttl值的方法 在一台linux机器上,修改/etc/resolv.conf将dns指向到要测试的dns,然后执行 dig test.com 假如该dns能解析test.com,就会返回一系列数据,其中有一列指明了ttl值,一试即知。
解决电脑状态错误的有效方法(识别、排查和修复电脑故障的关键步骤)
毛桃Pe系统教程(打造专属于你的电脑系统,让操作更高效、更顺心)
电脑格式错误的原因及解决方法(探究电脑格式错误的来源以及应对之策)
gnome和KDE只是不同的桌面管理器而已,软件阿什么的是不受影响的,放心装吧。下面是安装KDE的过程:sudo apt-get install kubuntu-desktop遇到选yes or no的yes就行,之后会有一个蓝屏的文字窗口,寻问你要选择Kdm 还是gdm,这个看个人喜好,因为这只是开机登陆窗是KDE的还是GNOME的差别而已。我选择的是gdm,按回车,OK重启Xwindows(Ctrl+Alt+Backspace),在登陆窗的“会话”中选择KDE,登陆后就是变成KDE了(假如想回到ubuntu的话,可以在“会话”中改成gnome)注意:一定不用担心兼容问题,在ubuntu下安装的一切软件都可以在Kubuntu下使用,同理,Ubuntu下也可以使用KDE的软件。简言之,所以软件是共用的。KDE为英文界面,可以为它安装中文环境:sudo apt-get install language-pack-kde-zh language-pack-kde-zh-base language-pack-zh language-pack-zh-base language-support-zh重启Xwindows就行了。
利用系统自带的网络功能创建热点5、进入Wi-Fi安全选项卡,选择 WPA & WPA2 Personal 并且输入密码。7、 进入IPv6选项卡,在Method(方法)里设置为忽略ignore (只有在你不使用IPv6的情况下这么做) 8、 点击 Save(保存) 按钮以保存配置。a、 把 mode=infrastructure 改成 mode=ap 并且保存文件。11、你现在可以把你的设备连上Wifi了。已经过 Android 5.0的小米4测试。(下载了1GB的文件以测试速度与稳定性)1:安装热点产生工具,hostapd复制代码代码如下:interface=wlan0driver=nl80211ssid=XXXXXX #xxxx是你用手机访问时,看到的无线网络的名字hw_mode=gchannel=10macaddr_acl=0auth_algs=3wpa=2wpa_passphrase=XXXXXX #xxxx是你用手机访问时,需要输入的密码。自己设置一个密码wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPCCMPrsn_pairwise=TKIPCCMP复制代码代码如下:sudo nano /etc/dhcp/dhcpd.conf在文件的最后添加如下:5:最后一步,写一个脚本,放在你的home目录(或者你认为方便的位置),方便的开启热点复制代码代码如下:#!/bin/bashap.sh脚本做好保存后,修改成为可执行的权限 :复制代码代码如下:sudo ./ap.sh
热门文章
- 1硬盘Ghost分区教程(使用Ghost软件实现硬盘分区备份与还原,保障数据安全与稳定性)
- 2电脑开机显示错误1802的原因及解决方法(深入探究电脑开机错误1802的根源,提供有效的解决方案)
- 31)、下载 2)、解压 3)、进入相关目录进行以下操作 复制代码代码如下: 假如你运气好的话,一切ok,不过………..哈哈。Ubuntu默认的策略是什么库都不装,依赖的库都需要自已手工安装搞定。 一般都会出错的,那么我们来看看可能出现的问题。 4)、常见问题解决办法 复制代码代码如下: 运气好一次通过,运气不好,make pcre时会出错 复制代码代码如下: 解决方法:需要先安装libtool和gcc-c++ 复制代码代码如下: 缺少zlib库 复制代码代码如下: 解决办法:少什么就安装什么呗。 复制代码代码如下: 进入nginx目录cd nginx-1.2.2/,执行以下命令 复制代码代码如下: 大爷的,又可能报错。没有nginx,logs目录访问权限 复制代码代码如下: 解决办法: 复制代码代码如下: 现在,差不多没问题了。 复制代码代码如下: 红色部分,根据自己的路径修改。 6)、常用命令 重启nginx:service nginx restart 7)、linux常用命令 ip查看 编译 安装编译好的源码包 编辑文件 修改根限:chmod说明(u:与文件属主拥有一样的权限[a:所有人];+:增加权限;rwx:可读可写可执行) 检查是库是否安装成功 下载安装库 检查服务启动是否正常 查找openssl安装路径 更新源 更新已安装的包 sudo apt-get upgrade
- 4大多数的 Linux Distro 也将 IPv6 (Internet Protocol Version 6) 预设地开启,但有时实际上不需要 IPv6 支援,如要关闭 IPv6 可用以下方法: Debian / Ubuntu 1. 开启 /etc/modprobe.d/aliases 2. 里面有一行是 “alias net-pf-10 ipv6″ 3. 将以上一行用以下两行取代: alias net-pf-10 off alias ipv6 off Red Hat 1. 开启 /etc/modprobe.conf 2. 加入这一行: alias net-pf-10 off 更改以上档案后重新启动系统,这时 IPv6 便会关闭。我在 Ubuntu 上关闭了 IPv6 后,发觉 DNS 的效能改善了,那就是一般上网时要 resolve ip 时回应得更快。
- 5如何在平板电脑上实现双开手游?(教程详解及实用技巧)
- 6台式电脑升级设计教程(轻松学会升级你的台式电脑,让它重焕新生)
- 7步骤:1. 终端运行复制代码代码如下:复制代码代码如下:复制代码代码如下:sudo /etc/init.d/apache2 restart附xampp的ModRewrite开启方法:要开启Mod Rewrite功能其实是很简单的:1.在你的XAMPP安装目录下找到 httpd.conf 这个文件( 位于etchttpd.conf)2.用vim或其他文本编辑器打开它3.找到 “AllowOverride None”, 替换为”AllowOverride All“。(修改第一个就可以了)4.再找到”#LoadModule rewrite_module modules/mod_rewrite.so“,把前面的”#”号去掉5.重启XAMPP然后Mod Rewrite功能就开启了:)
- 8电脑开机显示错误1802的原因及解决方法(深入探究电脑开机错误1802的根源,提供有效的解决方案)
- 9戴尔电脑开机43错误(探究戴尔电脑开机43错误的根源,提供解决方案)
- 10升级好ubuntu15.04之后,却发现系统语言全是英文,该怎么设置中文呢,我这就把方法分享给大家。1、点击系统左侧菜单栏中的那个“扳手+齿轮”图标,该图标是打开系统设置的图标。2、打开上面的那个图标后。在第一行,我们使用鼠标左键点击,最后的那个像国旗的图标。它是语言支持图标哦,如下图,打开它。3、打开那个图标之后,点击窗口中,从上到下的第二个图标,我这里是这个界面是中文的,所以,大家知道是在干什么!点击那个位置的按钮就行啦。4、点开后,设置里面有很多语言类型,我们拉动滚动条,来找到我们需要的语言。5、勾选语言列表中的“中文简体”或叫“chinese(simplified)”,然后点击左下角的那个按钮,假如你的此界面和我一样,那么就是点击的应用变更按钮。假如是英文的,勾选然后点击那个位置的按钮即可。6、在弹出的验证窗口里面,我们需要输入密码才能做到系统语言的变更,那么我们输入电脑的密码,然后点击如图中位置的按钮即可。7、我们把在语言支持列表(第一个是English)中的汉语,拉到English上面去,意思是第一个系统语言。然后点击该界面下面的第一个按钮。如下图8、经过以上步骤,我们点击系统右上角的那个齿轮图标,然后再点击里面的“log out ”,即,倒数第三个选项。9、注销一次系统,注销之后,我们重新登陆,是不是系统成为中文的了呢?
- 11在LINUX中自带的中文输入法 一直不太友好,用的不够爽。最近SOGO开发出了UBUNTU下的SOGO,安装了下。SOGO的智能化 ,是目前用的最舒服的输入法。下面是个人详细的安装步骤以及遇到问题的解决方法。软件名称:搜狗输入法 for Linux 2.0.0.0066 中文官方安装版 32位软件大小:17.8MB更新时间:2015-10-19软件名称:搜狗输入法 for Linux 2.0.0.0066 中文官方安装版 64位软件大小:17.8MB更新时间:2015-10-191、可以使用本文上面提供的下载,也可以打开下图中的SOGO官网,下载搜狗输入法安装包sogou_pinyin_linux_1.1.0.0037_i386.deb ,注意选择32BIT系统的安装包。2、为什么选择32BIT,不选择64BIT的呢?因为我的UBUNTU2.04安装的是32BIT版本。那如何判断系统是32还是64呢?在终端下输入命令getconf LONG_BIT,可以获取当前系统BIT数[xxx@ ~]getconf LONG_BIT323、安装输入法DEB包前,需要升级系统的一些基本库4、执行安装命令[xxx@ ~]sudo dpkg -i sogou_pinyin_linux_1.1.0.0037_i386.deb 发现错误,提示/usr/lib/libfreetype.so.6不是软链接执行以下命令[xxx@ ~]sudo ln -sf /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/libfreetype.so.6解决后再次执行安装DEB包命令[xxx@ ~]sudo dpkg -i sogou_pinyin_linux_1.1.0.0037_i386.deb这样就可以安装成功5、安装成功后,需要重启电脑,输入法会自动替换成SOGO,测试了下很爽,熟悉的WINDOW回来了,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。相关推荐:Ubuntu 14.10系统中IBUS 中文输入法安装的图文教程
- 12什么是Kdump?Kdump 是一种的新的crash dump捕获机制,用来捕获kernel crash时候产生的crash dump。Kdump需要配置两个不同目的的kernel,其中一个我们在这里称作standard(production) kernel;另外一个称之为Crash(capture)kernel。standard(production)kernel,是指我正在使用的kernel,当standard kernel在使用的过程中出现crash的时候, kdump会切换到crash kernel, 简单来说,standard kernel会正运行时发生crash,而crash(capture) Kernel 会被用来捕获production kernel crash时候产生的crash dump。捕获crash dump是在新的crash(capture) kernel 的上下文中来捕获的,而不是在standard kernel上下文进行。具体是当standard kernel方式crash的时候,kdump通过kexec(后面介绍)自动启动进入到crash kernel当中。假如启动了kdump服务,standard kernel会预留一部分内存, 这部分内存用来启动crash kernel。kdump机制主要包括两个组件:kdump和kexec kexec是一个快速启动机制,允许通过已经运行的内核的上下文启动一个Linux内核,不需要经过BIOS。BIOS可能会消耗很多时间,特别是带有众多数量的外设的大型服务器。这种办法可以为经常启动机器的开发者节省很多时间。Kexec是实现kdump机制的关键,它包括2个组成部分:一是内核空间的系统调用kexec_load,负责在生产内核(production kernel 或 first kernel)启动时将捕获内核(capture kernel或sencond kernel)加载到指定地址。二是用户空间的工具kexec-tools,他将捕获内核的地址传递给生产内核,从而在系统崩溃的时候能够找到捕获内核的地址并运行。没有kexec就没有kdump。先有kexec实现了在一个内核中可以启动另一个内核,才让kdump有了用武之地。 kdump是一种先进的基于kexec的内核崩溃转储机制。当系统崩溃时,kdump使用kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于kdump利用kexec启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。kdump需要两个不同目的的内核,生产内核和捕获内核。生产内核是捕获内核服务的对像。捕获内核会在生产内核崩溃时启动起来,与相应的ramdisk一起组建一个微环境,用以对生产内核下的内存进行收集和转存。注意,在启动时,kdump保留了一定数量的重要的内存,为了计算系统需要的真正最小内存,加上kdump使用的内存数量,以决定真正的最小内存的需求。kexec和kdump的设计区别:Kexec的设计是用新内核去覆盖原内核位置;而KDUMP是预留一块内存来加载第二个内核(和相关数据),Crash后第二个内核在原位置运行(不然就达不到相关目的了),收集第一个内核的相关内存信息。下面开始试验kdump特性: 操作系统:ubuntu 12.10(3.5.0-17-generic)安装kdump工具复制代码代码如下: 发现安装过程中修改了grub,在引导内核配置上(/boot/grub/grub.cfg)多了如下参数复制代码代码如下: crashkernel用来指定保留内存的大小,我们可以知道crashkernel帮我们设定的保留区域的大小是:假如内存小于384M,不保留内存;假如内存大于等于384M但小于2G,保留64M;假如内存大于2G,保留128M。 复制代码代码如下:下载dbgsym文件,改文件是用来吊事内核信息的文件复制代码代码如下: 重启机器使配置生效。复制代码代码如下:kdump-tools配置(kdump-config show):复制代码代码如下:可以通过sysrq强制系统崩溃。 复制代码代码如下: 这造成内核崩溃,如配置有效,系统将重启进入kdump内核,当系统进程进入到启动 kdump服务的点时,(dump.时间戳文件)将会拷贝到你在kdump配置文件中设置的位置。ubuntu的缺省目录是:/var/crash/时间戳文件夹。然后系统重启进入到正常的内核。一旦回复到正常的内核,就可以在上述的目录下发现dump文件,即内存转储文件。可以使用之前安装的crash工具来进行分析。生成dump文件后/var/crash的目录结构:├── 201305061817复制代码代码如下:出现如下错误提示: crash: cannot resolve: xtime,此时crash的版本为5.1.6,版本太低,调试不了3.5的内核,需要升级crash,可以手动安装crash。
全站热门
MegaCli这个命令可以用来监控raid状态、磁盘状况等,最近上了一批ubuntu系统跑openstack,问题是MegaCli在官网上只有rpm格式的包,没有deb的包,但是还是有办法解决的,rpm包也是可以在debian&&ubuntu上安装的。 可以到下列连接下载最新的zip文件包:http://www.lsi.com/Search/Pages/results.aspx k=MegaCLI&r=productfacet%3D%22AQxNZWdhUkFJRCBTQVMMcHJvZHVjdGZhY2V0AQJeIgIiJA%3D%3D%22%20os%3D%22AQVMaW51eAJvcwEBXgEk%22复制代码代码如下: 安装完成后执行如下命令:复制代码代码如下: 进入 8.00.48_Linux_MegaCLI.zip包所在的目录,执行如下命令:复制代码代码如下: MegaCli不但能查询raid的状态,还能设置raid的状态,所以还是由管理员掌握比较好,这样就安装完毕了。下面来列举几个常用的用法:1.查看所有物理磁盘信息复制代码代码如下:Adapter #0Enclosure Number: 1复制代码代码如下:Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct复制代码代码如下:Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct复制代码代码如下:Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct复制代码代码如下:Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct复制代码代码如下:Adapter 0-VD 0: Disk Write Cache : Disks Default复制代码代码如下:or复制代码代码如下:or复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:或者以动态可视化文字界面显示复制代码代码如下:复制代码代码如下:或者以动态可视化文字界面显示复制代码代码如下:复制代码代码如下:也可以指定为某个阵列的专用热备复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:或者以动态可视化文字界面显示复制代码代码如下:MegaCli -PDRbld -ProgDsply -PhysDrv [1:5] -a0
在之前的文章中, 我们讨论过如何在Linux服务器安装各种各样的打印机(当然也包括网络扫描仪)。今天我们将来处理另一端:如何通过桌面客户端来访问网络打印机/扫描仪。网络环境 在这个安装教程中,我们的服务器(Debian Wheezy 7.2版本)的IP地址是192.168.0.10,我们的客户端(Ubuntu 12.04版本)的IP地址是192.168.0.105.注意这两台机器是在同一个网段(192.168.0.0/24).假如我们想允许打印机访问其它网段,我们需要在服务器上修改cupsd.conf文件的以下部分: Order allow,deny Allow localhost Allow from XXX.YYY.ZZZ.*(在上述例子中,我们授予打印机从本地或者任何系统能够访问打印机,这些系统的IPv4地址以XXX.YYY.ZZZ开始。为了验证哪些打印机可以在我们的服务器上适用,我们也可以在服务器上使用lpstat命令,或者浏览网页https://192.168.0.10:631/printers page.root@debian:~# lpstat -a EPSON_Stylus_CX3900 accepting requests since Mon 18 Aug 2014 10:49:33 AM WARSTPDF accepting requests since Mon 06 May 2013 04:46:11 PM WARSTSamsungML1640Series accepting requests since Wed 13 Aug 2014 10:13:47 PM WARST在Ubuntu桌面安装网络打印机 在我们的Ubuntu 12.04的客户端,我们将打开Printing菜单(Dash ->Printing).你会注意到在其它发行版中,这个名字也许会有一点差别(例如会叫做Printers 或者 Print & Fax):还没有打印机添加到我们的客户端:下面是在Ubuntu桌面客户端安装一台网络打印机的一些步骤。1) “Add”按钮将弹出 New Printer 菜单。我们将选择Network printer ->Find Network Printer并输入我们服务器的IP地址,接着点击Find:2) 在最下面我们将会看到可使用的打印机的名称。我们来选择这台三星打印机并按Forward:3) 我们将会被要求填写一些关于我们打印机的信息。当我们输入完成时,将点击 Apply按钮。4) 我们接下来将被询问是否打印一张测试页。让我们点击Print test page吧:这个打印任务将被创建为本地id 2:5)适用我们服务器上的CUPS网络借口,我们可以观察到打印任务已经提交成功了(打印机 ->SamsungML1640系列 ->显示完成任务):我们也可以通过在打印机服务器上运行以下命令显示同样信息: root@debian:~# cat /var/log/cups/page_log | grep -i samsung SamsungML1640Series root 27 [13/Aug/2014:22:15:34 -0300] 1 1 - localhost Test Page - -SamsungML1640Series gacanepa 28 [18/Aug/2014:11:28:50 -0300] 1 1 - 192.168.0.105 Test Page - -SamsungML1640Series gacanepa 29 [18/Aug/2014:11:45:57 -0300] 1 1 - 192.168.0.105 Test Page - -这个page_log日志显示每一页被打印过的信息,只包括哪些用户发送这些打印任务,打印日期&时间,以及客户端的IPv4地址。要安装Epson喷墨和PDF打印机,我们只需重复第1-5的步骤即可,并每一次选择左边的打印队列。例如,在下图中选择PDF打印机:然而,请注意到根据CUPS-PDF 文档中,根据默认:PDF文件将会被放置在打印作业的所有者命名的子目录内。在这个案例中,打印作业的所有者不能被识别(i.e.不会存在服务器中)输出的内容被放置在匿名操作的文件中。这些默认的文件夹可以通过改变在/etc/cups/cups-pdf目录中的Out值和AnonDirName变量来修改。这里,${HOME}被扩展到用户的家目录中:Out ${HOME}/PDFAnonDirName /var/spool/cups-pdf/ANONYMOUS网络打印实例 实例 #1 从Ubuntu12.04中打印,通常在本地用gacanepa(具有相同名字存在打印机服务器上)。打印到PDF打印机之后,让我们来检查打印机服务器上的/home/gacanepa/PDF目录下的内容:root@debian:~# ls -l /home/gacanepa/PDF total 368-rw------- 1 gacanepa gacanepa 279176 Aug 18 13:49 Test_Page.pdf-rw------- 1 gacanepa gacanepa 7994 Aug 18 13:50 Untitled1.pdf-rw------- 1 gacanepa gacanepa 74911 Aug 18 14:36 Welcome_to_Conference_-_Thomas_S__Monson.pdf这个PDF文件被创建时的,权限已经设置为600(-rw-------),这意味着只有打印任务的所有者(在这个例子中是gacanepa )可以访问它们。我们可以通过修改the /etc/cups/cups-pdf.conf文件UserUMask变量的值来改变这种行为。例如,0033的umask值将可以使PDF打印者以及其它所有者拥有创建文件的权限,但是只读权限也会赋予给其它所有者。 root@debian:~# grep -i UserUMask /etc/cups/cups-pdf.conf ### Key: UserUMaskUserUMask 0033对于那些不熟悉umask(有名用户文件创建模式掩码),它作为一组可以用于控制那些为新文件创建时修改默认权限。给予特定的umask值,在计算最终文件的许可权限时,在文件基本权限(0666)和umask的单项按位补码之间进行按位布尔 AND 运算。因此,假如设置一个umask值为0033,那么新文件默认的权限将不是(0033)AND 0666 = 644的值(文件拥有者具有读/写/执行的权限,其他人拥有只读权限)。实例 #2 在Ubuntu12.04执行打印,本地登录用户为jdoe(同样的帐号名称但是服务器上是不存在的)。 root@debian:~# ls -l /var/spool/cups-pdf/ANONYMOUS total 5428-rw-rw-rw- 1 nobody nogroup 5543070 Aug 18 15:57 Linux_-_Wikipedia__the_free_encyclopedia.pdf这个PDF被创建时赋予的权限是666(-rw-rw-rw-),这意味着每个人都可以访问它们。我们可以通过编辑在/etc/cups/cups-pdf.conf文件中的AnonUMask值来改变这种行为。在这一点上,你也许会疑惑:为什么同样安装一台网络打印机,大多数(当然不是全部)当前的Linux桌面发行版都会内置一个打印到文件的功能来允许用户动态创建PDF文件?使用一台网络PDF打印机有以下好处:一个网络打印机(任何类型的)允许你直接从命令行直接打印,无需首先打开文件。在其它操作系统上安装一个网络客户端,一个PDF网络打印机备件,于是系统管理员不必再单独需要安装PDF创建者实用程序(也避免了最终用户安装这些工具存在的风险)。网络PDF打印机允许通过配置权限直接打印一个网络共享,如我们所见的例子。在Ubuntu桌面安装一个网络扫描仪 这里是通过Ubuntu桌面客户端安装和访问一台网络扫描仪的一些步骤。假设网络扫描仪服务器已经启动并运行所述here.1)让我们第一步来检查在我们的Ubuntu客户端主机上是否存在一台可用的扫描仪。没有先前的安装,你将会看到信息提示没有识别到扫描仪. $ scanimage -L2) 现在我们需要启用saned进程,用来预装Ubuntu桌面。要启用它,我们需要编辑/etc/default/saned文件,并设置RUN变量为yes:$ sudo vim /etc/default/saned # Set to yes to start sanedRUN=yes3) 让我们编辑/etc/sane.d/net.conf文件,并在扫描仪安装后添加服务器IP地址:4) 重启saned进程:$ sudo service saned restart 5) 现在让我们来看看扫描仪是否可用: 现在我们可以打开Simple Scan(或者其它扫描工具)并开始扫描文件。我们可以旋转,修剪,和保存生成的图片:总结 拥有一或多台网络打印机或扫描仪在任何办公和家庭网络中都是非常方便适用的,并同时提供了许多好处。例举如下:多用户(从不同的平台/地方)都能够向打印机发送打印作业的队列。由于硬件共享达到了节约成本和维护的作用。我希望该文可以帮助你更充分地利用这些有点。
先来介绍一下硬盘分区的基本知识:物理介质 The physical media逻辑卷管理说明不幸的是,该磁盘工具不支持LVM的大多数强大的特性,没有管理卷组、扩展分区,或者创建快照等选项。对于这些操作,你可以通过终端来实现,但是没有那个必要。相反,你可以打开Ubuntu软件中心,搜索关键字LVM,然后安装逻辑卷管理工具,你可以在终端窗口中运行sudo apt-get install system-config-lvm命令来安装它。安装完之后,你就可以从dash上打开逻辑卷管理工具了。这个图形化配置工具是由红帽公司开发的,虽然有点陈旧了,但却是唯一的图形化方式,你可以通过它来完成上述操作,将那些终端命令抛诸脑后了。比如说,你想要添加一个新的物理卷到卷组中。你可以打开该工具,选择未初始化条目下的新磁盘,然后点击“初始化条目”按钮。然后,你就可以在未分配卷下找到新的物理卷了,你可以使用“添加到现存卷组”按钮来将它添加到“ubuntu-vg”卷组,这是Ubuntu在安装过程中创建的卷组。要扩展逻辑分区到物理空间,你可以在逻辑视图下选择它,点击编辑属性,然后修改大小来扩大分区。你也可以在这里缩小分区。system-config-lvm的其它选项允许你设置快照和镜像。对于传统桌面而言,你或许不需要这些特性,但是在这里也可以通过图形化处理。记住,你也可以使用终端命令完成这一切。
PXE概述复制代码代码如下:作如下修改:复制代码代码如下:保存文件并退出。这将设置其 IP 地址为“192.168.1.20”。然后重新启动网络服务。复制代码代码如下:安装 DHCP, TFTP 和 NFS:复制代码代码如下:配置 DHCP 服务:复制代码代码如下:作如下修改:复制代码代码如下:保存 (Ctrl + o) 并退出 (Ctrl + x) 文件.2、编辑 “/etc/dhcp3/dhcpd.conf” 文件:复制代码代码如下:作如下修改:复制代码代码如下:保存文件并退出。3、启动 DHCP 服务.配置 TFTP 服务器:复制代码代码如下:作如下修改:复制代码代码如下:保存文件并退出。2、编辑 “/etc/default/tftpd-hpa” 文件。复制代码代码如下:作如下修改:复制代码代码如下:保存文件并退出。3、 使用 xinetd 让 boot 服务在每次系统开机时自动启动,并启动tftpd服务。复制代码代码如下:4、检查状态。复制代码代码如下:它将如下所示:复制代码代码如下:配置 PXE 启动文件复制代码代码如下:设置 PXELINUX 配置文件复制代码代码如下:作如下修改:复制代码代码如下:保存文件并退出。编辑 “/var/lib/tftpboot/pxelinux.cfg/pxe.conf” 文件。复制代码代码如下:作如下修改:复制代码代码如下:保存文件并退出。为 PXE 服务器添加 Ubuntu 14.04 桌面启动镜像复制代码代码如下:注意: 下载用的 URL 可能会改变,因为 ISO 镜像会进行更新。假如上面的网址无法访问,看看这个网站,了解最新的下载链接。挂载 ISO 文件,使用以下命令将所有文件复制到 TFTP文件夹中:复制代码代码如下:将导出的 ISO 目录配置到 NFS 服务器上复制代码代码如下:作如下修改:复制代码代码如下:保存文件并退出。为使更改生效,输出并启动 NFS 服务。复制代码代码如下:现在,你的 PXE 服务器已经准备就绪。配置网络引导 PXE 客户端PXE 客户端可以是任何支持 PXE 网络引导的计算机系统。现在,你的客户端只需要在系统的 BIOS 中设置 “从网络引导(Boot From Network)” 选项就可以启动并安装 Ubuntu 14.04 桌面。现在准备出发吧 - 用网络引导启动你的 PXE 客户端计算机,你现在应该看到一个子菜单,显示了我们创建的 Ubuntu 14.04 桌面的菜单项。结论配置使用 PXE 服务器从网络启动安装能提高效率和节省时间。你可以在本地网络中同时安装数百个客户端。所有你需要的只是一个 PXE 服务器和能启动 PXE 的客户端。试试吧~
热门文章
- 1电脑分屏驱动安装教程(轻松掌握电脑分屏技巧,提高工作效率)
- 2Ubuntu Kylin 14.10是一个新版本的具有中国特色的操作系统。新版本的操作系统新增了很多人性化的设计,小编为大家介绍一些相关的功能给各位对于Ubuntu Kylin不是很明白的地方。1、如图,我们打开锁定在屏幕左侧的【设置】。2、进入系统设置以后,我们找到下方的【系统】,然后点击【时间和日期】。3、进入之后,我们可以修改位置信息,这里是chongqing,你可以根据你自己的需要进行更改。4、在设置时间以前,我们必须将【手动】打开,如图。5、然后我们根据自己的需要,设置正确的时间与日期。6、你也可以设计你的时钟格式,如图点击【时钟】,然后根据你的需要做出对应的选择。
- 3首先修改源echo deb http://Ubuntu.cn99.com/ubuntu/ intrepid main restricted | sudo tee -a /etc/apt/sources.list 然后安装新内核了sudo apt-get update ;sudo apt-get install linux-generic linux-headers-2.6.26-5-generic linux-headers-2.6.26-5 linux-image-2.6.26-5-generic linux-sound-base linux-image-generic linux-restricted-modules-2.6.26-5-generic linux-restricted-modules-generic util-linux-locales util-linux util-linux-locales libselinux1 libselinux1-dev顺便安装下最新的pulseaudio了sudo apt-get install libasound2-plugins pulseaudio-* paman padevchooser paprefs pavucontrol还有最新的字体引擎了sudo apt-get install libxft2 libxft-dev libfreetype6 libfreetype6-dev libcairo2-dev还有显卡驱动sudo apt-get install xorg-driver-fglrx然后重启就是最新的内核了最后手动删除源中最后一行sudo apt-get update
- 4OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,允许创建的VPN使用公开密钥、数字证书、或者用户名/密码来进行身份验证。OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista/7以及Android和iOS上运行,并包含了许多安全性的功能。配置OpenVPN 2.0的第一步是建立一个PKI(public key infrastructure 公钥基础设施)。PKI包括:服务端和每个客户端都有一个证书(也称做公钥)和私钥首先,我们必须安装OpenVPN软件。在Ubuntu 15.04和其它带有‘apt’包管理器的Unix系统中,可以通过如下命令安装:复制代码代码如下:注意: 所有接下来的命令要以超级用户权限执行,如在使用sudo -i命令后执行,或者你可以使用sudo -E作为接下来所有命令的前缀。开始之前,我们需要拷贝“easy-rsa”到openvpn文件夹。然后进入到该目录复制代码代码如下:第三,我们需要加载环境变量,这些变量已经在前面一步中编辑好了。生成密钥的最后一步准备工作是清空旧的证书和密钥,以及生成新密钥的序列号和索引文件。可以通过以下命令完成。复制代码代码如下:在对话中,我们可以看到默认的变量,这些变量是我们先前在“vars”中指定的。我们可以检查一下,如有必要进行编辑,然后按回车几次。对话如下Generating a 2048 bit RSA private key复制代码代码如下:该命令的对话如下:Generating a 2048 bit RSA private key复制代码代码如下:该命令的输出样例如下Generating DH parameters, 2048 bit long safe prime, generator 2复制代码代码如下:现在,生成完毕,我们可以移动所有生成的文件到最后的位置中。最后,我们来创建OpenVPN配置文件。让我们从样例中拷贝过来吧:然后编辑我们需要指定密钥的自定义路径一切就绪。在重启OpenVPN后,服务器端配置就完成了。Unix的客户端配置复制代码代码如下:加载环境变量然后创建客户端密钥我们将看到一个与先前关于服务器密钥生成部分的章节描述一样的对话,填入客户端的实际信息。假如需要密码保护密钥,你需要运行另外一个命令,命令如下在此种情况下,在建立VPN连接时,会提示你输入密码。现在,我们需要将以下文件从服务器拷贝到客户端/etc/openvpn/keys/文件夹。服务器文件列表:ca.crt,复制代码代码如下:在此之后,我们需要重启OpenVPN以接受新配置。好了,客户端配置完成。安卓客户端配置复制代码代码如下:所有这些文件我们必须移动我们设备的SD卡上。然后,我们需要安装一个OpenVPN Connect 应用。接下来,配置过程很是简单:打开 OpenVPN 并选择“Import”选项虽然OpenVPN初始配置花费不少时间,但是简易的客户端配置为我们弥补了时间上的损失,也提供了从任何设备连接的能力。此外,OpenVPN提供了一个很高的安全等级,以及从不同地方连接的能力,包括位于NAT后面的客户端。因此,OpenVPN可以同时在家和企业中使用。
- 5电脑检测关键信号错误及其修复方法(解决关键信号错误的有效技巧与注意事项)
- 6又该升级系统了,然而14.10版ubuntu该如何才能正常的升级到ubuntu15.04呢?下面我将升级我自己的系统。1、点击菜单中的设置。因为桌面软件的改变,所以,现在有设置直接能对我们电脑进行配置调整,我们这里先点击设置图标。2。在设置中。里面有很多项目,其中系统项目里面,我们点击【软件和更新】这个图标,如下图3、软件和更新窗口可以更新系统,也可以更新软件。点击【更新】栏,设置成提示更新的方式为【每天】和有新版本时通知我设置为【适用任何新版本】,然后关掉软件和更新窗口,之后系统假如在联网就会提示你是否更新。4、在更新提示窗口。 我们目的是为了更新,那么就点击【立即安装】5、然后是一个全英文的界面。因为我现在的系统版本是14.10,然后提示有15.04这个新的ubuntu版本,那么我就点击【升级(U)】6、系统根据你的点击升级进入到下一个界面。点击升级按钮后,我的系统便开始下载升级安装包啦。一共有六步,等待前一步完成后才会进入下一步。7、建议不要再升级过程中点击【取消】按钮。但是系统会再一次提示你【您要开始升级么?】。此时,假如你不想升级,那么点击取消按钮还来得及,否则请点击【立即升级】按钮。8、这样系统开始正式升级啦,期间不要断电,或者点击取消,否则会发生意料之外的结果9、最后,系统升级完成,询问你是否清除安装包。建议您点击【删除】,然后点击【现在重启】,系统重启后,则升级完成!
- 7Mac电脑数据迁移教程(轻松迁移你的数据到新的Mac电脑)
- 8Ubuntu 的笔记本来到一个局域网里,插上网线,网线指示灯亮,但是连不上网,点击网络连接图标,显示“网络未托管”。突然想起这台笔记本前阵子设置过 PPPOE(有线宽带虚拟拨号),于是进行了一番设置改动,最终解决了问题。1、Ubuntu 的笔记本来到一个局域网里,有点认生。插上网线,网线指示灯亮,但是连不上网,点击网络连接图标,显示“网络未托管”。突然想起这台笔记本前阵子设置过 PPPOE(有线宽带虚拟拨号),怀疑是它的原因。2、按 Ctrl + Alt + t,调出终端。3、键入命令:cd /etc/network,转入 /etc/network 这个目录,它里面有个文件叫 interfaces。4、然后键入命令:sudo gedit interfaces,意思是调用 gedit 文本编辑器,并打开 interfaces 这个文件。这个文件的最后一行是:iface eth0 inet manual,意思是,eth0 这个网络界面(个人电脑上,eth0 一般指的就是唯一的一个网线接口),需要手动设置网络。5、但是,当前的这个局域网,明显是 DHCP 网络,也就是接入的电脑需要“自动获取网络”地址。我们在这行字符前面加个英文的“#”,“注释”掉这一行,意思是不要手动设置网络了,而是转为自动设置。注意一定是英文的“#”,否则输入中文的话,就起不到“注释”的作用了。6、保存文件、关闭 gedit 文本编辑器,回到终端,键入命令:sudo service network-manager restart,意思是重新启动网络管理服务。按下回车,网络立刻连接。以后离开这个局域网,需要重新使用虚拟拨号时,只要按照第 4、5 步骤的方法,把加上的那个“#”去掉,然后再重启网络管理服务,就行了。
- 9PEGOST教程(掌握PEGOST加密算法,保护数据安全)
- 10其实在使用VPS的时候很多也用过面板来管理和维护网站,使用过KLOXO以及Virtualmin/Webmin面板,相比较而言还是KLOXO耗费的资源比较小。昨天晚上的时候,在一个VPS群里看到有朋友提到安装Froxlor面板更加节省资源。今天我先不把这几个面板做对比,先自己安装一下。国人站长比较常用的是centos以及安装的LNMP环境,老左也和大家一起学习一下,不知道成功与否,边做边记录。对于Apache服务器,有众多控制面板可供选择,例如最流行的cPanel、Direct Admin和Plesk,免费的也有webmin和kloxo,可是对于高性能的Nginx服务器却暂时没有发现有一个比较好的解决方案。Froxlor是一个网页版本的服务器后台控制面板,支持Apache, Lighttpd和Nginx等多服务器。界面清爽,而且操作后台的面板还支持中文,需要快速配置请使用froxlor一键安装包安装。安装 Froxlor本安装教程安装系统环境为 Ubuntu 15.04。你必须安装如 MySQL、Apache、或Python包等所有先决条件。添加 froxlor 库、更新及安装命令:复制代码代码如下:sudo /etc/init.d/apache2 restart 打开浏览器并输入:http://IP地址/froxlor重要提示:到了这一步,出现Web服务器的404错误,我只需要移动froxlor目录,froxlor包默认安装在/var/WWW移动到/var/www/html,然后打开浏览器继续,点击安装按钮。验证所有要求是否满足与否,然后点击继续。提供所需的Mysql,FQDN,管理等凭证,点击下一步。确保所有的服务都是功能性的,点击下一步。登录的用户名是:admin,密码安装时指定由你。仪表板将类似于下面。OK,安装完毕,现在你可以看看里面的具体功能了。