Windows下查看同局域网其它主机MAC地址

事情是这样的,今天去面试的时候笔试有一道题问到:Windows下使用什么命令来获知同局域网内其他主机的MAC地址。一开始看到感觉很熟悉,但是却答不上来。原来建站这么就,很多使用都要使用ping命令来测试网站的可连接性和速度等等。但是这样的ping命令并不可以看到一台主机的MAC地址。其实Windows下有一个arp的命令就可以获知局域网中其他主机的MAC地址已经IP地址的。

arp -a ( 显示 ARP 表)

还有其他参数:

-a 通过询问当前协议数据,显示当前 ARP 项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项。

-g 与 -a 相同。

-v 在详细模式下显示当前 ARP 项。所有无效项和环回接口上的项都将显示。

inet_addr 指定 Internet 地址。

-N if_addr 显示 if_addr 指定的网络接口的 ARP 项。

-d 删除 inet_addr 指定的主机。inet_addr 可以是通配符 *,以删除所有主机。

-s 添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联。物理地址是用连字符分隔的 6 个十六进制字节。该项是永久的。

eth_addr 指定物理地址。

if_addr 如果存在,此项指定地址转换表应修改的接口的 Internet 地址。如果不存在,则使用第一个适用的接口。

Oracle 11g 的新特性–虚拟列

在老的 Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引。

现在 Oracle 11g 允许我们直接在表上使用虚拟列来存储表达式。

来看一个简单的例子:

CREATE TABLE EMP
(
EMPNO NUMBER(6),
SAL NUMBER(8,2),
COMM NUMBER(8,2),
SAL_PACK GENERATED ALWAYS AS ( SAL + NVL(COMM,0) ) VIRTUAL
);
上述建的虚拟列 SAL_PACK 是由一个简单的表达式创建的,使用的关键字有 VIRTUAL(不过这个关键字是可选的),该字段的值是由 COMM 这个字段通过表达式计算而来的。

虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的。

我们不能往虚拟列中插入数据:
SQL> INSERT INTO emp VALUES (10, 1500, 500,2000);
ERROR at line 1:
ORA-54013: INSERT operation disallowed on virtual columns
我们也不能隐式的添加数据到虚拟列:
SQL> INSERT INTO t VALUES (10, 1500, 500);
*
ERROR at line 1:
ORA-00947: not enough values
我们只能使用物理列来插入数据。
SQL> INSERT INTO t (empno, sal,comm) VALUES (10, 1500 , 500);
1 row created.
然后可以查询虚拟列的值:
SQL> select * from emp;
EMPNO SAL COMM SAl_PACK
—– —— —– ——–
10 1500 500 2000
1 row selected.
表达式是在查询的时候即时计算的,然后输出上述的结果。

虚拟列的索引和约束

索引和约束同样可以应用在虚拟列上。我们可使用如下SQL语句来创建索引:
SQL> create index sal_pack_idx on emp(sal_pack);
Index Created.
我们也可以为虚拟列创建外键。

使用 PLSQL 函数来处理虚拟列

虚拟列的定义可使用 PLSQL 函数,但要求该函数必须是确定的:
CREATE OR REPLACE FUNCTION sum_num (in_num1 NUMBER, in_num2 NUMBER)
RETURN NUMBER DETERMINISTIC
AS
BEGIN
RETURN in_num1 + in_num2;
END;
然后可以在虚拟列中使用上述函数:
SQL>ALTER TABLE emp ADD sal_pack_temp GENERATED ALWAYS AS ( sum_num(SAL,COMM) ):
Table Altered
虚拟列的注释

为虚拟列创建注释的方法:
view sourceprint?
SQL> COMMENT ON COLUMN emp.sal_pack IS ‘Virtual column [sal+ comm]’;
Comment created.
上述例子看来虚拟列的功能比视图本身要简单很多。

原文之地:http://www.oschina.net/question/12_52437

CentOS下安装和配置FTP服务器

vsftp是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。下面介绍CentOS下安装和简单配置 vsftp 这个服务软件。

在Linux下可以搭建本地YUM库来进行系统软件的安装和管理。这里不多作解释,请看Linux系统下搭建本地YUM库一文。

1、安装vsftp:

以管理员(root)身份执行以下命令:

yum install vsftpd

2、配置vsftpd服务器:

默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。

vi /etc/vsftpd/vsftpd.conf

3、添加ftp用户:

下面是添加ftptest用户,设置根目录为/home/wwwroot/ftptest,禁止此用户登录SSH的权限,并限制其访问其它目录。

①、修改/etc/vsftpd/vsftpd.conf

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

②、增加用户ftptest,指向目录/home/wwwroot/ftptest,禁止登录SSH权限。

useradd -d /home/wwwroot/ftptest -g ftp -s /sbin/nologin ftptest

③、设置用户口令

passwd ftpuser

④、编辑文件chroot_list

vi /etc/vsftpd/chroot_list

内容为ftp用户名,每个用户占一行,如:

Wenvki

⑤、启动vsftp服务

service vsftpd start

4、配置防火墙

打开/etc/sysconfig/iptables文件

vi /etc/sysconfig/iptables

在REJECT行之前添加如下代码:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT

保存和关闭文件,重启防火墙

service iptables restart

5、管理vsftpd服务的相关命令:

停止vsftpd服务: service vsftpd stop

重启vsftpd服务: service vsftpd restart

设置开机启动vsftpd服务:chkconfig –level 2345 vsftpd on

最后,使用用户ftptest登录VSFTP服务测试的使用出现了个错误提示:

500 OOPS: cannot change directory:/home/wwwroot/ftptest

Google了一下,原来是SELinux对vsftpd服务的限制,所以要关闭SELinux对vsftpd的保护,以root用户在终端输入指令:

setsebool -P ftpd_disable_trans 1

到此,简单的Linux下安装和配置FTP服务器就此结束。

网线接法

下面两种是网络布线中常见的线缆:

直连线:两个水晶头都是568A或568B

交叉线:一头是568A,另一头是568B

上面两种都是大家口中所说的“网线”,这是个通俗的叫法。大家可能不了解什么是直通线什么是交叉线。但大家都知道什么样的就是网线。以前,网卡技术还没这么好的时候,要想两台计算机直接用一根网络线缆连接来进行通讯。要遵循一个严格的接法,(同种设备使用交叉线,异种设备使用直通线)的规则。那么,实现上面的要求就是要使用交叉线来连接两天计算机了。不多说,看下面两种线缆的结构:

标准568A:橙白–1,橙–2,绿白–3,蓝–4,蓝白–5,绿–6,棕白–7,棕–8;

标准568B:绿白–1,绿–2,橙白–3,蓝–4,蓝白–5,橙–6,棕白–7,棕–8;

TX+(Tranceive Data +发信号)

TX-(Tranceive Data -发信号)

RX+( Receive Data+ 收信号)

RX-( Receive Data-收信号)

Linux系统查看当前时间

Linux系统查看服务器时间很简单输入”date”命令就可以.但是有时发现很多的服务器的当前时间都不准确,不是慢就是快了,有的还相差一个小时。虽然时间不准确不会影响服务器工作,但是我们录入资料、登记一些东西的时间都会不准确。
要是发现我们的应用和数据库服务器系统时间不对可以使用这几个命令修改:
1、先设置日期
date -s 20130127
2、设置时间
date -s 17:27:00
3、如果要同时更改BIOS时间
在执行clock -w

Kickstart无人值守安装RHEL6(网络安装Linux)

前言:若你是某公司的技术员,公司要求你安装20台或者更多的RHEL6系统。你怎么办?不可能自己刻录个光碟一个个地安装吧。下面就介绍下RHEL6.2下利用Kickstart这个软件来实现linux系统的无人值守安装。也就是网络安装的方法。理清思路,其实这个就不难了。

步骤:1、架设FTP服务器;2、架设YUM服务器;3架设TFTP服务器;4、架设DHCP服务器;5、架设Kickstart服务器。

①、架设FTP服务器,这个实例是如何实现RHEL下无人值守安装系统。所以,FTP的很多配置这里就不进行说明了。挂载光盘,安装vsftp服务包。启动vsftp服务器。

[root@localhost Packages]# rpm -ivh vsftpd-2.2.2-6.el6_0.1.i686.rpm

[root@localhost Packages]# service vsftpd start

为 vsftpd 启动 vsftpd: [确定]

 

②、架设YUM服务器,复制光盘全部文件到/var/ftp/pub/media/目录下。看下面配置:

[root@localhost ~]# cd /var/ftp/pub/media/
[root@localhost media]# ls
EULA RELEASE-NOTES-en-US.html RELEASE-NOTES-pt-BR.html
GPL RELEASE-NOTES-es-ES.html RELEASE-NOTES-ru-RU.html
HighAvailability RELEASE-NOTES-fr-FR.html RELEASE-NOTES-si-LK.html
images RELEASE-NOTES-gu-IN.html RELEASE-NOTES-ta-IN.html
isolinux RELEASE-NOTES-hi-IN.html RELEASE-NOTES-te-IN.html
ks.cfg RELEASE-NOTES-it-IT.html RELEASE-NOTES-zh-CN.html
LoadBalancer RELEASE-NOTES-ja-JP.html RELEASE-NOTES-zh-TW.html
media.repo RELEASE-NOTES-kn-IN.html repodata
Packages RELEASE-NOTES-ko-KR.html ResilientStorage
README RELEASE-NOTES-ml-IN.html RPM-GPG-KEY-redhat-beta
RELEASE-NOTES-as-IN.html RELEASE-NOTES-mr-IN.html RPM-GPG-KEY-redhat-release
RELEASE-NOTES-bn-IN.html RELEASE-NOTES-or-IN.html Server
RELEASE-NOTES-de-DE.html RELEASE-NOTES-pa-IN.html TRANS.TBL
[root@localhost media]# cat /etc/yum.repos.d/mediayum.repo
[Server]
name=Server
baseurl=ftp://192.168.2.15/pub/media/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

③、架设TFTP服务器,( yum install tftp* )然后编辑 /etc/xinetd.d/tftp文件。修改disable = yes 为 disable = no

保存退出!下面是tftp文档的配置:

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}

[root@localhost ~]# service xinetd restart

 

④、架设DHCP服务器。( yum install dhcp* )编辑 vim /etc/dhcp/dhcpd.conf 配置文档,内容如下:

subnet 192.168.2.0 netmask 255.255.255.0 {

range dynamic-bootp 192.168.2.100 192.168.2.199;

option domain-name-servers 192.168.2.15;

option domain-name “rhel6.kickstart.server”;

option routers 192.168.2.15;

option subnet-mask 255.255.255.0;

filename “pxelinux.0”;

next-server 192.168.2.15;

default-lease-time 600;

max-lease-time 7200;

}

[root@localhost ~]# service dhcpd start

⑤、安装Kickstart服务器。yum install system-config-kickstar* 这里说下。安装system-config-kickstart这个软件包,要有X Windows服务的支持。所以,没有安装X Windows服务的话先进行安装该服务包。安装后,终端输入命令:

system-config-kickstart来启动kickstart软件,进行一下的配置。该配置过程是图形界面。

0basic configuration1install method

 

2boot loader options3Partition information

 

4network configuration5Package selection

6save ks conf filekickstart client

install rhel from network

经过上面的配置。下面就配置TFTP服务引导安装RHEL系统。

[root@localhost ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg

[root@localhost ~]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@localhost ~]# cp -p /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/

[root@localhost ~]# cp -p /var/ftp/pub/media/isolinux/initrd.img /var/lib/tftpboot/

[root@localhost ~]# cp -p /var/ftp/pub/media/isolinux/vmlinuz /var/lib/tftpboot/

[root@localhost ~]# cp -p /var/ftp/pub/media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

编辑[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 文档。

label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.2.15/pub/media/ks.cfg (这里加上ks.cfg绝对路径,保存退出。)
label vesa

重启以上配置的所有服务,确保服务正常。到此,Kickstart服务器就配置完成了。客户机只要配置通过网络安装系统就可以自动进行安装系统了。

Apache一些配置参数说明

ServerRoot “/etc/httpd”
用于设置服务器的根目录,默认位置为/etc/httpd,服务器根目录是Apache配置文件、日志文件、模块文件等相关文件的基础目录
PidFile run/httpd.pid
此文件httpd.pid保存Apache父进程的IP
Timeout 120
定义客户程序和服务器连接的超时间隔(秒)超过这个时间间隔后服务器将断开与客户机的连接
KeepAlive Off
不允许客户端同时提出多个请求
在HTTP 1.0中应禁用,但在HTTP 1.1中就开启
建议:开启,即KeepAlive On
MaxKeepAliveRequests 100
用于设置在一个持续连接期间允许的最大HTTP请求数目,若设置为0,则表示没有限制;默认设置为100,事实上没有客户程序在一次连接中请
求太多的页面,通常达不到这个上限就完成连接了。
KeepAliveTimeout 15
服务器完成一次请求后开始计时,如果在此参数设置的时间间隔内没有接收到客户程序的下一次请求,服务器就断开连接,即关闭TCP连接.
默认值为15秒
Listen 80
Listen命令告诉服务器接受来自指定端口或者指定地址的某端口的请求,如果listen仅指定了端口,则服务器会监听本机的所有地址;如果指
定了地址和端口,则服务器只监听来自该地址和端口的请求
ServerAdmin root@localhost
用于设置Web站点管理员的E-mail地址,当服务器产生错误时(如指定的网页找不到),服务器返回给客户的错误信息将包含该邮件地址,以告
诉用户该向谁报告错误
ServerName www.example.com:80
设置服务器用于辨识自己的主机名和端口号,该设置仅用于重定向和虚拟主机的识别,对于Internet的Web服务器,应该保证该名称是DNS服务
器中的有效记录.默认值没有对此进行设置,管理员应用根据实际设置情况进行配置
AddDefaultCharset
用于指定默认的字符集,在HTTP的回应信息中,若在HTTP头中未包含任何关于内容字符集类型的参数时,此指令指定的字符集添加到HTTP头中
,此时将覆盖网页文件中通过META标记符所指定的字符集.默认字符集为: AddDefaultCharset UTF-8 若显示中文时出现乱码,解决方法是将
字符集设置为GB2312,即: AddDefaultCharset GB2312

华为设备命令行简介

命令行接口
通过命令行接口输入命令,您可以对交换机进行配置和管理。用户登录到交换机出现命令行提示符后,即进入命令行接口CLI(Command Line Interface)。命令行接口是用户与交换机进行交互的常用工具。系统向用户提供一系列命令,用户可以通过命令行接口输入命令,对交换机进行配置和管理。
命令行接口有如下特性:
允许通过Console口进行本地配置。
允许通过Telnet、SSH进行本地或远程配置。
提供User-interface视图,管理各种终端用户的特定配置。
命令分级保护,不同级别的用户只能执行相应级别的命令。
通过不认证、password、AAA三种验证方式,确保未授权用户无法侵入交换机,保证系统的安全。
用户可以随时键入“?”而获得在线帮助。
提供网络测试命令,如tracert、ping等,迅速诊断网络是否正常。
提供种类丰富、内容详尽的调试信息,帮助诊断网络故障。
用telnet命令直接登录并管理其它交换机。
提供FTP服务,方便用户上传、下载文件。
提供类似DosKey的功能,可以执行某条历史命令。
命令行解释器提供不完全匹配和上下文关联等多种智能命令解析方法,方便用户输入。
说明:
系统可正确执行的命令长度最大为512个字符,包括使用不完整格式的情况。如果使用不完整格式进行配置,由于命令保存到配置文件中时使用的是完整格式,可能导致配置文件中存在长度超过512个字符的命令。系统重启时,这类命令将无法恢复。因此,在使用不完整格式的命令进行配置时,也需要注意命令的总长度。

命令级别
系统命令采用分级保护方式,命令从低到高划分为16个级别。
缺省情况下,命令按如下0~3级进行注册:
0级,参观级:网络诊断工具命令(ping、tracert)、从本设备出发访问外部设备的命令(Telnet客户端)等。
1级,监控级:用于系统维护,包括display等命令。
2级,配置级:业务配置命令,包括路由、各个网络层次的命令,向用户提供直接网络服务。
3级,管理级:用于系统基本运行的命令,对业务提供支撑作用,包括文件系统、FTP、TFTP、Xmodem下载、配置文件切换命令、备板控制命令、用户管理命令、命令级别设置命令、系统内部参数设置命令;用于业务故障诊断的debugging命令等。如果用户需要实现权限的精细管理,可以将命令级别提升到0~15级。关于命令级别的提升请参见“设置命令级别”。
说明:
实际实现中,根据命令的重要程度,有可能出现某些命令的缺省级别要高于本命令按照命令
规则定义所对应的级别。
登录用户也划分为16级,与命令级别对应。不同级别的用户登录后,只能使用等于或低于自
己级别的命令。关于用户分级请参见“用户管理”。

命令视图
命令视图就是执行命令行的界面环境。系统的所有命令都注册在某个(或某些)命令视图下,只有在相应的视图下才能执行该视图下的命令。
命令视图基本概念
与交换机建立连接,如果此交换机是缺省配置,则进入用户视图,在屏幕上显示:
<Quidway>
键入system-view后回车,进入系统视图。
<Quidway> system-view
[Quidway]
在系统视图下键入aaa,则可进入AAA视图。
[Quidway] aaa
[Quidway-aaa]
说明
命令行提示符“Quidway”是缺省的主机名(sysname)。通过提示符可以判断当前所处的视图,
例如:“<>”表示用户视图,“[]”表示除用户视图以外的其它视图。

浅淡FTP和TFTP

FTP和TFTP
FTP是大家比较熟悉的一种网络服务,同时也得到相对广泛的应用,但TFTP就不其然了,虽然在很多地方得以应用,但却不如FTP使用得广泛。下面就简单介绍下FTP和TFTP这两种网络服务。
FTP(File Transfer Protocol)在TCP/IP协议族中属于应用层协议,主要向用户提供本地与远程主机之间的文件传输。FTP协议基于相应的文件系统实现。FTP向用户提供本地和远程主机之间的文件传输,尤其在进行版本升级、日志下载、文件传输和配置保存等业务操作中广泛应用。相信很多有过WEB架站经历的人几乎都知道FTP这种网络服务,这里就不多谈了。
系统提供的FTP服务包括:
FTP Server:用户可以运行FTP客户端程序登录到交换机,访问交换机上的文件。
FTP Client:用户在PC上通过终端仿真程序或Telnet程序建立与交换机的连接后,可以输入FTP命令建立与远程FTP Server的连接并访问远程主机上的文件。

TFTP(Trivial File Transfer Protocol)是一种简单文件传输协议。与FTP相比,TFTP不具有复杂的交互存取接口和认证控制,适用于客户机和服务器之间不需要复杂交互的环境。例如,系统启动时使用TFTP获取系统内存映像。TFTP不具有复杂的交互存取接口和认证控制,适用于客户机和服务器之间不需要复杂交互的环境。
TFTP协议在UDP基础上实现。TFTP协议传输由客户端发起。当需要下载文件时,由客户端向TFTP服务器发送读请求包,然后从服务器接收数据包,并向服务器发送确认;当需要上传文件时,由客户端向TFTP服务器发送写请求包,然后向服务器发送数据包,并接收服务器的确认。这种网络服务使用的实例有:通过网络来安装操作系统以及网络设配的一些IOS的升级、备份等等。
TFTP传输文件有两种模式:
二进制模式:用于传输程序文件
ASCII码模式:用于传输文本文件
通过以上的介绍,可以看到FTP是基于TCP/IP协议上的,而TFTP却是基于UDP协议上的。了解TCP/IP和UDP协议的朋友就会知道,一种是叫可靠的一种却是非可靠的传输协议。这两种协议各有好处,TCP/IP名为可靠传输协议,其本身建立网路连接是需要一个非常有名的三次握手才能建立的。相对UDP来说,比较消耗资源,也就是术语上说的开销大,而UDP则相反。所以,这两种协议各有用处。