如何在Linux/FreeBSD下linux怎么使用u盘盘

hahazhu0634 的BLOG
用户名:hahazhu0634
文章数:145
评论数:366
访问量:798423
注册日期:
阅读量:5863
阅读量:12276
阅读量:331059
阅读量:1037739
51CTO推荐博文
Linux下:(1)date -d"2008年 12月 17日 星期三 17:27:22 CST" +"%s"&& 该命令将2008年 12月 17日 星期三 17:27:22 CST转化为时间戳&& 结果:
(2)将时间戳 换算成可以识别的年月日分秒&& date -d ' UTC
seconds'&& 结果:2005年 08月 08日 星期一 18:04:03 CST
(3)date -d"Mon Jul 17 13:36:28 CST 2006" +"%F %H:%M:%S"& 该命令将被转换的时间“Mon Jul 17 13:36:28 CST 2006” 转换为你想要输出的格式+"%F %H:%M:%S"& 结果: 13:36:28
Freebsd下:(1)date -j -f "%a %b %d %T %Z %Y" "Wed Dec 17 17:55:36 CST 2008" "+%s"&& 该命令将时间Wed Dec 17 17:55:36 CST 2008转换为时间戳&& 结果:(2)将时间戳转换为当前时间&& date -r && 结果:Wed Dec 17 17:55:36 CST 2008(3)date -j -f "%a %b %d %T %Z %Y" "Mon Jul 17 13:16:11 JST 2006" "+%F %H:%M:%S"&& 该命令将被转换的时间"`date`" 转换为你想要的格式"+%s"&& 结果: 13:16:11
=====================补充:perl下:& 将时间戳转换为时间perl -e "print scalar localtime ''"PHP下:& 生成时间戳方法:mktime(小时,分,秒,月,日,年)本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)在Linux和FreeBSD下如何使用U盘_宗政疑狂的博客_天涯博客
今日访问:[$DayVisitCount$]
总访问量:63
开博时间:
博客排名:356633
如何在Linux/FreeBSD下使用U盘
1.首先要知道一个概念: 凡是具备USB接口的存储设备都可以被当作U盘,这就包括了USB外挂硬盘,具备USB转接口的CF卡,MMC卡等等.
2. 在Linux/FreeBSD下U盘统一被模拟成SCSI硬盘, 那么当U盘插上计算机时,就可以通过:
/dev/sda, /dev/sdb .... (Linux下)
/dev/da0s1, /dev/da0s2 .... (FreeBSD下)
3. 由于大家使用的Linux(Kernal)/FreeBSD版本和设置不同,挂在系统上的USB驱动模块可
能不一样,所以建议大家使用RedHat7.2以上的版本(指内核版本),FreeBSD4.7及以上版本.
在U盘插上后,使用以下命令来加载U盘:
3.1 首先在 /mnt下建立一个U盘的装门目录:
mkdir /mnt/usbdsk
3.2 然后加载:
mount -t msdos /dev/sda1 /mnt/usbdsk (Linux)
mount -t msdos /dev/da0s1 /mnt/usbdsk (FreeBSD)
4. 几点注意.有的U盘另带有一个虚拟的开机/杀毒软盘,插上后就会在系统内出现两个SCSI硬盘, 比如/dev/sda, /dev/sdb, 那么mount的时候就要选择你需要的设备结点.如果你的U盘不是FAT16格式的话,要改 -t 参数.
5. 我个人使用的是一块64MB MMC卡(西门子6688上的), FAT16格式, 通过MMC转USB接头插上ThinkPad,
目前我的系统是FreeBSD4.7(mini installation),
插上时系统提示找到SCSI盘, 再通过
mount -t msdos /dev/da0s1 /mnt/usbdsk挂上.
6. U盘所需的驱动模块可动态加载的, 在Linux下分别是: usb-storage.o, scsi_mod.o和sd_mod.o, 通常新版本的Linux都会默认加载这几个模块的, 无须你手动操作. FreeBSD下对应的模块我不清楚, 但原理一样.
如果非要手动加载驱动模块模块的话, 先找到上面提到的三个文件的具体位置(不同的Linux发行版不同),再用modprobe 加载, 例如:
/lib/modules/2.4.18-14/kernel/drivers/usb/storage/modprobe -r usb-storage.o
我的是FreeBsd测试通过SYN Flood攻击、SYN Cookie防御和Linux/FreeBSD的内核参数修改
黑客是个令人向往、有前途的职业。我欣赏好黑客,讨厌坏黑客。所谓坏黑客,就是导致对方有人要加班的那种家伙。
&&& SYN Flood攻击是一种典型的拒绝服务型(Denial of Service)攻击。所谓拒绝服务型攻击就是通过进行攻击,使受害主机或网络不能够良好的提供服务,从而间接达到攻击的目的。黑客喜欢玩这个,以让对方加班而显示自己有水平、有能力、有魄力,其实呢,啥都不是。
&&& 一:什么是SYN Flood攻击
&&& SYN Flood攻击利用的是IPv4中TCP协议的三次握手(Three-Way Handshake)过程进行的攻击。这个协议规定,如果一端想向另一端发起TCP连接,它需要首先发送TCP SYN (synchronize)包到对方,对方收到后发送一个TCP SYN+ACK包回来,发起方再发送TCP ACK (ACKnowledge Character)包回去,这样三次握手就结束了。
&&& 在上述过程中,还有一些重要的概念:
&&& 未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。或者说TCP服务器收到TCP SYN request包时,在发送TCP SYN+ACK包回TCP客户机前,TCP服务器要先分配好一个数据区专门服务于这个即把形成的TCP连接。一般把收到SYN包而还未收到ACK包时的连接状态成为半开连接(Half-open Connection)。
&&& Backlog参数:表示未连接队列的最大容纳数目。
&&& SYN-ACK 重传次数:服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。
&&& 半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
&&& 在最常见的SYN Flood攻击中,攻击者在短时间内发送大量的TCP SYN包给受害者,这时攻击者是TCP客户机,受害者是TCP服务器。根据上面的描述,受害者会为每个TCP SYN包分配一个特定的数据区,只要这些SYN包具有不同的源地址(这一点对于攻击者来说是很容易伪造的)。这把给TCP服务器系统造成很大的系统负担,最终导致系统不能正常工作。
&&& 二:SYN Cookie原理
&&& 能够有效防范SYN Flood攻击的手段之一,就是SYN Cookie。SYN Cookie原理由D. J. Bernstain和 Eric Schenk发明。
&&& SYN Cookie是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。它的原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。
&&& 下面分Linux和FreeBSD来说说如何配置内核参数来实现SYN Cookie
&&& 三:Linux下设置
&&& 如果你的服务器配置不太好,TCP TIME_WAIT套接字数量达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少服务器的TIME_WAIT套接字数量。
&&& TIME_WAIT可以通过以下命令查看:
以下是代码片段:
netstat -an | grep &TIME_WAIT& | wc -l
&&& 在Linux下,如CentOS,可以通过修改/etc/sysctl.conf文件来达到目的。
&&& 增加以下几行:
以下是代码片段:
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024&&& 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
&&&& 说明:
  net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies,这是个BOOLEAN。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
  net.ipv4.tcp_tw_reuse = 1 表示开启重用,这是个BOOLEAN。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
  net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,这是个BOOLEAN,默认为0,表示关闭。
  net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。单位为秒。
  net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。单位为秒。
  net.ipv4.ip_local_port_range = 1024&&& 65000 表示用于向外连接的端口范围。缺省情况下很小:3,改为。
  net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
  net.ipv4.tcp_max_tw_buckets = 5000 表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。
  net.ipv4.tcp_synack_retries和net.ipv4.tcp_syn_retries是定义SYN重试次数。
  执行以下命令使配置生效:
以下是代码片段:
&/sbin/sysctl -p
&&& 如果你不想修改/etc/sysctl.conf,你也可以直接使用命令修改:
以下是代码片段:
/sbin/sysctl -w key=value
&&& 四:FreeBSD下设置
&&& yayu个人学习的观点:FreeBSD中对syn的防御和Linux下可能不一样,配置的参数也不完全相同,相关配置和理解可能不对:)
&&& TCP链接中有一个MSL(max segment lifetime)的概念,也就是最大生成时间,MSL的值在一般的实现中取30s,有些实现采用2分钟。在TCP的状态机中的&被动关闭&:从CLOSE_WAIT到LAST_ACK中有一个如下的规则:当TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2倍的MSL。这样可让TCP再次发送最后的ACK以防这个ACK丢失(另一端超时并重发最后的 FIN)。
&&& 存在这个规则导致一个后果就是在这个2*MSL的时间内,该地址上的链接(客户端地址、端口和服务器端的地址、端口)不能被使用。比如我们在建立一个链接后关闭链接然后迅速重启链接,那么就会出现端口不可用的情况。&
&&& TIME_WAIT时间是2*MSL。因此可以通过调整net.inet.tcp.msl来减少TIME_WAIT时间。对于Web服务器完全可以将这个值调整为(访问一个web,超过4~15秒页面还刷不出来,就可以考虑放弃了-_-)
&&& 参数设置参考:
以下是引用片段:
net.inet.tcp.syncookies=1
防止DOS攻击
net.inet.tcp.msl=7500
防止DOS攻击,默认为30000
net.inet.tcp.blackhole=2
接收到一个已经关闭的端口发来的所有包,直接drop,如果设置为1则是只针对TCP包
net.inet.udp.blackhole=1
接收到一个已经关闭的端口发来的所有UDP包直接drop
&&& FreeBSD下,yayu没看见&/sbin/sysctl -p&这样的命令可以使/etc/sysctl.conf的内容生效,所以直接使用命令了:
以下是代码片段:
sysctl net.inet.tcp.syncookies=1 net.inet.tcp.msl=7500 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1
&&& 五:其他
&&& 除了修改服务器的内核参数,还可以修改apache的配置文件中的Timeout、KeepAlive、MaxClients等参数来防止Dos攻击,如果有接口调用,还要注意控制一下调用的时间。请听下文分解。
&&& 六:总结
&&& 我讨厌让人加班的坏黑客,不过这也促进了我的学习。
&&& 如果哪位看见上面有不对的地方,还请留意告知,谢谢!
&&& 七:参考文章:
SYN Cookie原理及在Linux内核中的实现:/Article/9.html
减少Linux下Squid服务器的TIME_WAIT套接字数量:/os/540.html
TCP协议三次握手:/net/541.html
Tcp三次握手与四次挥手:/net/542.html
中国最完整的sysctl.conf优化方案:/os/543.html
Linux 反 DDOS的几个设置:/Article/76.html
FreeBSD系统优化部分内核参数调整中文注释:/os/545.html
linux系统优化sysctl:/os/546.html
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'服务热线:400-889-2021
在Linux和FreeBSD下如何使用U盘发布时间:[]&&&& 来源:&&&& 作者:&&&& 点击:如何在Linux/FreeBSD下使用U盘
1.首先要知道一个概念: 凡是具备USB接口的存储设备都可以被当作U盘,这就包括了USB外挂硬盘,具备USB转接口的CF卡,MMC卡等等.
&2. 在Linux/FreeBSD下U盘统一被模拟成SCSI硬盘, 那么当U盘插上计算机时,就可以通过:
/dev/sda, /dev/sdb .... (Linux下)
/dev/da0s1, /dev/da0s2 .... (FreeBSD下)
&3. 由于大家使用的Linux(Kernal)/FreeBSD版本和设置不同,挂在系统上的USB驱动模块可能不一样,所以建议大家使用RedHat7.2以上的版本(指内核版本),FreeBSD4.7及以上版本.
在U盘插上后,使用以下命令来加载U盘:
3.1 首先在 /mnt下建立一个U盘的装门目录:
mkdir /mnt/usbdsk
3.2 然后加载:
mount -t msdos /dev/sda1 /mnt/usbdsk (Linux)
mount -t msdos /dev/da0s1 /mnt/usbdsk (FreeBSD)
4. 几点注意.有的U盘另带有一个虚拟的开机/杀毒软盘,插上后就会在系统内出现两个SCSI硬盘, 比如/dev/sda, /dev/sdb, 那么mount的时候就要选择你需要的设备结点.如果你的U盘不是FAT16格式的话,要改 -t 参数.
5. 我个人使用的是一块64MB MMC卡(西门子6688上的), FAT16格式, 通过MMC转USB接头插上ThinkPad,
目前我的系统是FreeBSD4.7(mini installation),& 插上时系统提示找到SCSI盘, 再通过
mount -t msdos /dev/da0s1 /mnt/usbdsk挂上.
6. U盘所需的驱动模块可动态加载的, 在Linux下分别是: usb-storage.o, scsi_mod.o和sd_mod.o, 通常新版本的Linux都会默认加载这几个模块的, 无须你手动操作. FreeBSD下对应的模块我不清楚, 但原理一样.
如果非要手动加载驱动模块模块的话, 先找到上面提到的三个文件的具体位置(不同的Linux发行版不同),再用modprobe 加载, 例如:
/lib/modules/2.4.18-14/kernel/drivers/usb/storage/modprobe -r usb-storage.o关键字:

我要回帖

更多关于 linux怎么使用u盘 的文章

 

随机推荐