组播MAC地址(转)

MAC地址是以太网二层使用的一个48bit(6字节十六进制数)的地址,用来标识设备位置。MAC地址分成两部分,前24位是组织唯一标识符(OUI, Organizationally unique identifier),后24位由厂商自行分配。 MAC地址有单播、组播、广播之分。单播地址(unicast address)表示单一设备、节点,多播地址或者组播地址(multicast address、group address)表示一组设备、节点,广播地址(broadcast address)是组播的特例,表示所有地址,用全F表示:FF-FF-FF-FF-FF-FF。当然,三层的IP地址也有单播、组播、广播之分。 48bit的MAC地址一般用6字节的十六进制来表示,如XX-XX-XX-XX-XX。IEEE 802.3规定:以太网的第48bit用于表示这个地址是组播地址还是单播地址。如果这一位是0,表示此MAC地址是单播地址,如果这位是1,表示此 MAC地址是多播地址。见IEEE 802.3 3.2.3 Address fields: “The first bit (LSB) shall be used in the Destination Address field as an address type designation bit to identify the Destination Address either as an individual or as a group address. If this bit is 0, it shall…

Continue Reading

lftp详解及应用

用ftp的get命令无法下载文件夹,这个时候可以用lftp的mirror命令:   基本用法 1、yum -y install lftp //安装lftp 2、lftp 192.168.1.124 //(或直接输入ftp的网址)登录远程ftp 3、user root //输入ftp用户名root (匿名ftp不用输入用户名和密码) 4、111111 //输入ftp密码(不回显) 5、mirror jsweb /opt/www  //将ftp上的jsweb(文件夹名称)下载到本地的/opt/www   lftp mirror的高级应用举例 mirror –delete –only-newer –verbose work /opt/bak/ 自动备份服务器work文件夹,到本地opt/bak文件夹下,并且删除已经不存在的文件,并且只下载最新的文件,再给出详细的输出。 用 lftp 的 -e 选项,把命令直接接在 lftp 之后: lftp -u username,password -e”mirror –delete –only-newer –verbose /work bak/” ftpIP 也可以用 at 选项指定备份的时间: lftp at 01:00 -u username,password…

Continue Reading

tcpdump抓包命令详解

TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统 中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工 具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。 一、概述 顾名思义,tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 引用 # tcpdump -vv tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 11:53:21.444591 IP (tos 0x10, ttl 64, id 19324, offset 0, flags [DF], proto 6, length: 92) asptest.localdomain.ssh > 192.168.228.244.1858: P 3962132600:3962132652(52) ack 2726525936 win 1266 asptest.localdomain.1077 > 192.168.228.153.domain: [bad udp cksum 166e!] 325+…

Continue Reading

Windows下文本过滤

想在windows下使用命令来查找文件,可以使用如下命令:where命令的格式如下: WHERE [/R dir] [/Q] [/F] [/T] pattern… Description: Displays the location of files that match the search pattern. By default, the search is done along the current directory and in the paths specified by the PATH environment variable. Parameter List: /R       Recursively searches and displays the files that match the given pattern starting from…

Continue Reading

linux中修改网卡设备名称

如果测试机器或服务器上有多个网卡,可能由于不同网卡的特性不同而需要启用/禁用网卡控制器,调整的过程可能需要调整网卡的名称,如eth1改成eth0,自己调整了两三次,把经验分享一下: 1.shutdown 相应接口,将 /etc/sysconfig/network-scripts/ifcfg-eth0中的 DEVICE=eth0 HWADDR=00:1e:ec:0f:79:f6 修改或添加,注意mac地址和device名称要和对应的配置文件名称中的eth0对应。 并将下面文件中修改成和上述一致 /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x14e4:0x1713 (tg3) SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:1e:ec:0f:79:f6″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″ # PCI device 0x14e4:0x1713 (tg3) SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:1e:ec:0f:79:f7″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth1″ 2. service udev-post stop; service udev-post start 3. ifup eth0/eth1

Continue Reading

调整内核printk的打印级别

有时调试内核模块,打印信息太多了,可以通过修改/proc/sys/kernel/printk文件内容来控制。默认设置是6   4   1   7 # cat /proc/sys/kernel/printk 7       4       1      7 该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志级别的更多信息,请查阅syslog(2)联机帮助。上面显示的4个数据分别对应: 控制台日志级别:优先级高于该值的消息将被打印至控制台 默认的消息日志级别:将用该优先级来打印没有优先级的消息 最低的控制台日志级别:控制台日志级别可被设置的最小值(最高优先级) 默认的控制台日志级别:控制台日志级别的缺省值   数值越小,优先级越高 其实这四个值是在kernel/printk.c 中被定义的,如下: int console_printk[4] = { DEFAULT_CONSOLE_LOGLEVEL,       /* console_loglevel */ DEFAULT_MESSAGE_LOGLEVEL,       /* default_message_loglevel */ MINIMUM_CONSOLE_LOGLEVEL,     /* minimum_console_loglevel */ DEFAULT_CONSOLE_LOGLEVEL,       /* default_console_loglevel */ }; 内核通过printk() 输出的信息具有日志级别,日志级别是通过在printk() 输出的字符串前加一个带尖括号的整数来控制的,如printk(“<6>Hello, world!\n”);。内核中共提供了八种不同的日志级别,在 linux/kernel.h 中有相应的宏对应。 #define KERN_EMERG  “<0>”   /* systemis unusable */ #define KERN_ALERT  “<1>”   /* actionmust be taken immediately */ #define KERN_CRIT    “<2>”   /*critical conditions */ #define KERN_ERR     “<3>”   /*…

Continue Reading

ubuntu添加定时任务

测试环境:ubuntu12.04LTS 1. 使用crontab -e命令 这个命令的使用比较简单。直接输入 ~# crontab -e 就会打开一个编辑窗口,第一行会有内容格式的提示: # m h  dom mon dow   command 具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command),*表示任意时间。例如: 3 * * * * /home/meng/hello.sh 就是:每小时的03时执行/home/meng/下的hello.sh脚本。 在保存之后,根据屏幕下面的提示输入Ctrl+X退出,此时会提示是否保存,输入Y;提示输入文件名,并且有一个临时的文件名,由于只是测试,直接回车保存。 注意:在完成编辑以后,要重新启动cron进程: ~# /etc/init.d/cron restart 观察运行结果,会发现hello.sh会每隔一小时,在03分时被执行一次。   在使用这个命令时,最大的担心就是在系统重启以后是否还能顺利执行呢?我重启系统以后发现一切正常,于是打消了这个顾虑。但是,仍然有一个问题,一 般情况下,服务器都是在重启后处于登录状态下,并没有用户登入。那么如果我在执行crontab -e命令时,不是使用root账户,那么在系统重启之后是否还会顺利执行呢?   2. 编辑crontab文件 crontab位于/ect/文件夹,在http://wiki.ubuntu.org.cn/CronHowto上有关于它的详细介绍,但是我看的不是太懂。 打开crontab文件,如果没有编辑过可以看到如下类似的内容: # /etc/crontab: system-wide crontab # Unlike any other crontab you don’t have to run the `crontab’ # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user  command 17 *    * * *   root    cd / && run-parts –report /etc/cron.hourly 25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily ) 47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly ) 52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )…

Continue Reading

vim命令大全与实战

一、移动光标 1、左移h、右移l、下移j、上移k 2、向下翻页ctrl + f,向上翻页ctrl + b 3、向下翻半页ctrl + d,向上翻半页ctrl + u 4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^ 5、移动光标到下一个句子 ),移动光标到上一个句子( 6、移动到段首{,移动到段尾} 7、移动到下一个词w,移动到上一个词b 8、移动到文档开始gg,移动到文档结束G 9、移动到匹配的{}.().[]处% 10、跳到第n行 ngg 或 nG 或 :n 11、移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部L 12、读取当前字符,并移动到本屏幕内下一次出现的地方 * 13、读取当前字符,并移动到本屏幕内上一次出现的地方 # 二、查找替换 1、光标向后查找关键字 #或者g# 2、光标向前查找关键字 或者g 3、当前行查找字符 fx, Fx, tx, Tx 4、基本替换 :s/s1/s2 (将下一个s1替换为s2) 5、全部替换 :%s/s1/s2 6、只替换当前行 :s/s1/s2/g 7、替换某些行 :n1,n2 s/s1/s2/g 8、搜索模式为 /string,搜索下一处为n,搜索上一处为N 9、制定书签 mx, 但是看不到书签标记,而且只能用小写字母…

Continue Reading

Linux搭建SVN服务器

一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 SVN中的一些概念 : (1). repository(源代码库) 源代码统一存放的地方 (2). Checkout (提取) 当你手上没有源代码的时候,你需要从repository checkout一份 (3). Commit (提交) 当你已经修改了代码,你就需要Commit到repository (4). Update (更新) 当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更 日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) –>作出自己的修改并调试成功 –> Commit(大家就可以看到你的修改了) 。 如果两个程序员同时修改了同一个文件呢, SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认。 客户端软件: (1)Windows下常用的客户端软件常用TortoiseSVN。它是一个免费的开源的客户端。 下载地址:http://tortoisesvn.net/downloads.html (2)向Myeclipse,也有一些SVN的插件。 Subversion提供以下主要功能: (1)目录版本控制 CVS 只能跟踪单个文件的历史, 不过 Subversion 实作了一个 “虚拟” 的版本控管文件系统,…

Continue Reading

CentOS 6.3下Samba服务器的安装与配置(转)

一、简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微 软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。 Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux 之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因 而 Samba较多的用在了Linux与windows之间的数据共享上面。 SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在 Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它windows系统或者Linux系统共享出来的文件。 Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议。 组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启 动,就只能通过IP来访问共享文件,监听137和138 UDP端口。 例如,某台Samba服务器的IP地址为10.0.0.163,对应的工作组名称为davidsamba,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows下查看Linux Samba服务器共享文件的方法。 \\10.0.0.163\共享目录名称 \\davidsamba\共享目录名称 Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。 二、系统环境 系统平台:CentOS release 6.3 (Final) Samba版本:samba-3.5.10-125.el6.x86_64 Samba Server IP:10.0.0.163 防火墙已关闭/iptables: Firewall is not running. SELINUX=disabled 三、安装Samba服务…

Continue Reading