6月 032018
 

I solve my mono headphone problem that comes out after upgrading from 14.04 to 16.04

open terminal and start bluetooth controller sequence

$ bluetoothctl
Now the environmet intermenal should be changed to [bluetooth]# there is list of devices with MAC address and one of them should be your headphone. Connect device with its mac adress like
[bluetooth]# connect AA:BB:CC:DD:EE:FF
Your device now connected to your bluetooth device. Now where magic happens. Open another terminal and start the bluetooth device:
$ sudo service bluetooth restart
Now return to the tab with the environment [bluetooth]# Your device is disconnected after restarting bluetooth. Connect it again:
[bluetooth]# connect AA:BB:CC:DD:EE:FF

Ta Da! This solves my problem. You can chach from sound settings That Your headset profile is set on High Fidelity Playback(A2DP Sink) Continue reading »

10月 302017
 

需要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,这就需要用到iptables的端口映射。

实现:
1. 需要先开启linux的数据转发功能

# vi /etc/sysctl.conf,将net.ipv4.ip_forward=0更改为net.ipv4.ip_forward=1
# sysctl -p //使数据转发功能生效

2. 更改iptables,使之实现nat映射功能

将外网访问192.168.75.5的80端口转发到192.168.75.3:8000端口。
# iptables -t nat -A PREROUTING -d 192.168.75.5 -p tcp –dport 80 -j DNAT –to-destination 192.168.75.3:8000

将192.168.75.3 8000端口将数据返回给客户端时,将源ip改为192.168.75.5
# iptables -t nat -A POSTROUTING -d 192.168.75.3 -p tcp –dport 8000 -j SNAT 192.168.75.5

3. 查看nat,可以使用命令:iptables -t nat –list检查nat列表信息,结果如下图所示
iptables

备注:以上是针对从一台机到另一台机的端口转发,如果要针对本机进行端口转发,就需要按如下操作

将外网访问80端口的数据转发到8080端口
# iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080

将本机访问80端口的转发到本机8080
# iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 –dport 80 -j DNAT –to 127.0.0.1:8080
# iptables -t nat -A OUTPUT -p tcp -d 192.168.4.177 –dport 80 -j DNAT –to 127.0.0.1:8080
本地连接指的是在本机上,用 127.0.0.1 或者本机 IP 来访问本机的端口。本地连接的数据包不会通过网卡,而是由内核处理后直接发给本地进程。这种数据包在 iptables 中只经过 OUTPUT 链,而不会经过 PREROUTING 链。所以需要在 OUTPUT 链中进行 DNAT。除了对 127.0.0.1 之外,对本机 IP (即 192.168.4.177) 的访问也属于本地连接。

9月 012016
 

有同学反映,连接 VPN 后,外网机器就无法访问这台机器了。这是由于 VPN 会强制所有非局域网流量通过 VPN 接口发送,而不会通过原有网络接口发送。如果您是 Linux 系统,可以通过添加策略路由规则的方法解决。

添加如下路由规则:

ip route add default via 原有默认网关 dev 原有网卡 table 1000
ip rule add from 原有IP lookup 1000 Continue reading »

12月 242014
 

广泛使用的开源协议Network Time Protocol(NTP)被发现存在严重安全漏洞,漏洞会导致缓冲溢出问题,允许远程攻击者执行任意代码。漏洞影响NTP-4.2.8及之前版本,安装NTP的操作系统开发商已经发布了修改补丁,其中苹果首次向Mac用户推送了修复NTP漏洞的自动安全更新。安全研究人员曾警告,新发现的这些漏洞能让黑客远程控制电脑。如果Mac用户允许“安装系统数据文件和安全更新”,那么补丁可能已经安装好了,否则用户需要尽可能快的使用 Software Update下载和安装更新。

12月 242014
 

在历尽十年多时间开发之后,Red Hat发起的Linux网络管理工具NetworkManager正式发布了1.0.0版。NetworkManager的首个版本是在2004年11月发布的。NetworkManager 1.0.0主要变化包括:新的基于GObject的客户端库libnm;基于systemd-networkd代码的轻量级内部DHCP客户端;新的配置-退出选项;改进nmcli、IPv6配置、VPN连接持久性;iBFT/iSCSI支持, Bluetooth DUN支持等等。

9月 252014
 

Unix和Linux操作系统广泛使用的GNU Bourne Again Shell(Bash)发现了一个允许远程执行代码的严重安全漏洞。该漏洞Stephane Schazelas发 现的,与Bash处理来自操作系统或调用Bash脚本的应用程序的环境变量有关。如果Bash是默认的系统shell,网络攻击者可以通过发送Web请 求、secure shell、telnet会话或其它使用Bash执行脚本的程序攻击服务器和其它Unix和Linux设备。

该漏洞在影响范围上与Heartbleed漏 洞相当,在危险程度上也许没有Heartbleed高。漏洞影响GNU Bash v1.14到v4.3,主要Linux发行版如Red Hat Enterprise Linux (v4到7)、Fedora、CentOS、Ubuntu和Debian都已经发布了补丁。

但补丁尚未完全修复问题。你可以输入命令env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”测试你的系统是否存在漏洞,如果存在漏洞会返回“vulnerable this is a test”。

9月 092014
 

OpenSSH 6.7接近发布,开发者Damien Miller在邮件列表上呼吁用户测试最新的快照。OpenSSH 6.7是一个大更新版本,加入了许多新特性,其中一个重要特性是Unix domain socket转发

该功能允许本地机器上的 一个Unix domain socket转发到一个远程TCP端口,或者一个远程 TCP端口转发到一个Unix domain socket——使用Socket转发的相同语法。

举例来说,一个远程PostgreSQL数据库实例可通过SSH转发到本地机器上的一个Unix domain socket。

5月 202014
 
Copyright (c) 2006  Dancefire (dancefire#gmail).
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.
作者:Dancefire (dancefire # gmail dot com ) 2006/04/27
( PDF格式及分析所用脚本程序下载连接:http://www.dancefire.org/file/kernel_similarity_analysis_1.0.zip )
一、引言
麒麟操作系统是由国防科技大学、中软公司、联想公司、浪潮公司和民族恒星公司五家单位合作研制的服务器操作系统。按照麒麟官方的说法:
“Kylin服务器操作系统是国家863计划的重大研究成果,拥有完全自主版权的内核,与Linux在应用上二进制兼容,并支持64位,是中国独立研发成功的、具有完全自主知识产权的服务器操作系统。”[1]
 — 来自麒麟官方网站 http://www.kylin.org.cn/news.htm
“银河麒麟操作系统是针对未来的主流网络服务和高性能计算服务的需求,参照国际主流标准,参考Darwin、FreeBSD、Linux和其它商用操作系统,借鉴UNIX操作系统和微内核操作系统的设计思想,设计并实现具有自主版权的、可支持多种CPU芯片和多种计算机体系结构的、具有高性能、高可用性与高安全性的、并与Linux应用和设备驱动二进制兼容的中文服务器操作系统,”
摘自麒麟操作系统2.0.21内自带的帮助文档
近日,有不少人对麒麟操作系统宣称的“完全自主版权”和“中国独立研发成功”这两个核心问题产生了质疑。随着麒麟2.0.14和2.0.21系统可以通过麒麟的官方网站下载后(http://www.kylin.org.cn/download.htm ),这种质疑的声音越来越大。麒麟除内核以外的应用大部分都来自自由组织GNU的代码,这些代码并不属于“中国独立研发”,而且他们的版权也不属于麒麟操作系统的开发者。更有甚者,有人开始通过反汇编麒麟操作系统内核发现和美国的FreeBSD开放源代码操作系统非常相似。随后又有人成功的用FreeBSD的内核启动了麒麟操作系统。按照麒麟官方的介绍,麒麟具有Linux的二进制兼容的能力,可是丝毫没有提及与FreeBSD的兼容性,使得麒麟内核与FreeBSD的关系变得比较引人注目。在官方介绍中的简简单单的“参考”是无法解释这种相似程度的。
在强烈的关注声中,麒麟开发人员在2006年2月16日,给出了一个说明,《关于银河麒麟操作系统的说明》[3],发布在 http://www.kylin.org.cn/download.htm 。其中提到了和FreeBSD的关系:
“课题组通过评测和分析,认为当时正在研发中的FreeBSD 5.0 具有比Unix SVR4.2 更好的发展势头,特别是SMPng 项目的开展,为FreeBSD 5.0 支持SMP 对称多处理器系统奠定了良好的基础,因此银河麒麟操作系统的系统服务层从SVR4.2 升级到当时正在研发中的FreeBSD 5.0。”
声明发出后一定程度上得到了大家谅解,可是虽然提及和FreeBSD的关系,却又十分隐晦,既没有明确的对官方网站新闻中的报道失实承认错误,没有明确阐述麒麟的操作系统是否具有“完全知识产权”以及是否是“中国独立研发”,甚至也没有对官方页面上的事实报道进行修正。而且,既然说明使用了FreeBSD 5.0的代码,却又说仅限于系统服务层,而丝毫未提及所占比例。这依旧让人们对这个获得863计划软件重大专项的资助的操作系统到底有多少创新产生一个大大的疑问。
为了调查清楚麒麟操作系统内核自主创新的百分比,以及与其它操作系统之间的关系,我将麒麟操作系统内核与FreeBSD、NetBSD、OpenBSD、Linux和Solaris的内核进行了可执行代码的相似度分析。
在整个过程中,我将尽量保持客观的原则进行分析。由于麒麟操作系统属于封闭源代码系统,因此在无法获得内核源代码的情况下,我将只进行二进制可执行代码文件的相似度分析。由于可执行代码受编译环境、内存分布情况以及模块的变动的影响很大,因此,会产生即使采用同一套代码,却产生很低的相似度情况。但是,对操作系统内核这种大型软件系统来说,却不会因为不同的代码而产生很高的相似度的情况。因此,我们将这次对二进制可执行代码分析所得的相似度作为相似度的下限。换句话说,真实的相似度应该会高于此次分析结果,但是由于分析方法的局限性,无法取得上限。

Continue reading »