易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

linux shell 字符串截取总结

linux中对字符串的处理:
1.字符串分割例如  AAAAA-BBBBBB  按-分割去前后两部分
 cut :
[rich@localhost ~]$ str=AAAAA-BBBBBB
[rich@localhost ~]$ echo $str | cut -d "-" -f 1
AAAAA
[rich@localhost ~]$ echo $str | cut -d "-" -f 2
BBBBBB
解释:A | B  将A命令的输出 作为B命令的输入
cut
-d  :分隔符
-f   : field  分割后的数组索引 只不过是从1开始
如果不存在分割符则返回全部:
[rich@localhost ~]$ echo $str | cut -d "c" -f 1
AAAAA-BBBBBB
expr  && cut:
取“-”的索引
[rich@localhost ~]$ index=`expr index  "${str}" "-"`
[rich@localhost ~]$ echo $str | cut -c`expr "${index}" + 1`-
BBBBBB
[rich@localhost ~]$ echo $str | cut -c1-`expr ${index} - 1`
AAAAA
cut
-c 截取字符串 索引从1开始
-cA-   A到末尾
-cA  A位置
-c A-B   索引A-B
-c-A   截取前A个字符
substr:
[rich@localhost ~]$ index=`expr ${index} - 1`
[rich@localhost ~] ......

linux cat命令


要在工作站显示文件,请输入:
 cat notes
此命令会显示 notes 文件中的数据。如果该文件的行数大于可用屏幕行数减一的值,则文件的部分内容会滚出屏幕。要每次将文件列在一页上,使用 pg 命令。
要并置几个文件,请输入:
cat section1.1 section1.2 section1.3 >section1
此命令创建了名为 section1 的文件,该文件是后跟 section1.2 和 section1.3 的 section1.1 的副本。
要禁止有关不存在文件的错误消息,请输入:
cat  -q section2.1 section2.2 section2.3 >section2
如果 section2.1 不存在,此命令连接 section2.2 和 section2.3。如果不使用 -q 标志,结果是一样的,除了 cat 命令会显示错误消息:
cat: cannot open section2.1
当在 shell 步骤中使用 cat 命令时,您可能要使用 -q 标志来禁止此类消息。
要将一个文件附加到另一个文件末尾,请输入:
cat section1.4 >> section1
>>(两个脱字符)将 section1.4 的副本附加至 section1 的末尾。如果要替代该文件,请使用 >(脱字符)。
要将文本添加到文件的末尾,请输入:
cat >>note ......

linux下批量建目录

1:linux下批量将大写目录或文件名改为小写命令
ZIP 先打成包,ZIP -r A  A/*,再UNZIP -LL    A     B            (A/*表示A目录下的所有文件)(A和B都为.zip文件,-LL 变大写为小写的参数)
则,A包里的大写目录和文件名全改成B包里的小写目录和文件名,A与B里的内容相同.    
(查下将小写改成大写) 
2:批量建目录命令
mkdir -p A/{1..99}
mkdir -p A/{A..Z}
mkdir -p {a..z}{a..z}
mkdir -p {a..z}{0..9}
3:建隐藏文件
mkdir .A      (点为隐藏文件标志)
cd  --    -A   (加--  可以进入以特殊字符的文件,-A为一个文件名 )
rm      A\*      (A*为一个文件名,或rm ,则删除以A为开头的文件,加\,可以将A*转义为A*文件名)
cd   A\\   (进入目录名为A\的目录) ......

LINUX下看在线视频:rtsp 改为 mms

比如说要看 
http://broadcast.hzcnc.com/player.asp?code=345&pname=%u65e0%u95f4%u9053
$ curl 'http://broadcast.hzcnc.com/Play.aspx?code=345'
<ASX VERSION = "3.0">
  <ENTRY>
    <REF HREF = "rtsp://125.210.224.83/345.wmv?20091201122420
6074460C4E482F6395910591ECEEC349441"/>
    <STARTTIME VALUE="00:00:00" />
  </ENTRY>
</ASX>
将其中的 rtsp 改为 mms 用 mplayer 播放
$ mplayer mms://125.210.224.83/345.wmv?200912011224206074460C4E482F6395910
591ECEEC349441
这个方法,对看电影,电视剧,直播等都有效。
一直用这个方法看cctv5.
我直接贴脚本吧:
#!/bin/bash
url="$1"
[ -z "$url" ] && {
    echo "$(basename $0) broadcast.hzcnc.com_player_url
e.g. 
./$(basename  ......

实现Linux系统调用劫持

关于系统调用劫持
如果一个木马要隐藏起来,不被系统管理员发现。截获系统调用似乎是必须的。大部分情况下,通过修改系统调用表来实现系统调用的劫持。下面是一个典型的截获系统调用的模块:
模块一:
#include
#include
#include
#include
#include
#include
#include
#include
#include
MODULE_LICENSE("GPL");
extern void* sys_call_table[]; /*sys_call_table is exported, so we can accessit. But in some system this will cause problem */
int (*orig_mkdir)(const char *path); /*the original systemcall*/
int hacked_mkdir(const char *path)
{
        return 0; /*everything is ok, but he new systemcall   does nothing*/
}
int init_module(void) /*module setup*/
{
        orig_mkdir=sys_call_table[SYS_mkdir];
        sys_call_table[SYS_mkdir]=hacked_mkdir;
        return 0;
}
void cleanup_module(void) /*module shutdown*/
{
        ......

获取Linux 2.6.x sys_call_table


在linux中所有的syscall都是调用int 0x80, int 0x80的中断服务程序为system_call(arch/x86/kernel/traps_32.c:set_system_gate(SYSCALL_VECTOR,&system_call).  system_call (arch/x86/entry_32.S)最终call *sys_call_table(,%eax,4)来完成一个syscall调用. 
即 int 0x80 -> system_call -> sys_call_table, 这样我们只要首先获取int 0x80的中断服务地址system_call地址, 然后在system_call代码中直接搜索call指令即可找到sys_call_table地址了!
另一种方法就是直接修改
通过cat /boot/System.map-`uname -r` |grep sys_call_table  查看当前sys_call_table地址,并与通过以上方法取得的地址做比较!
内核版本: ubuntu 2.6.24-19-server
/*
 * Standard in kernel modules
 */
#include <linux/kernel.h>   /* We're doing kernel work */
#include <linux/module.h>   /* Specifically, a module, */
#include <linux/moduleparam.h>  /* which will have params */
#include <linux/unistd.h>   /* The list of system calls */
/*
 * For the cu ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [4348] [4349] [4350] [4351] 4352 [4353] [4354] [4355] [4356] [4357]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号