众所周知,在windowns下使用wireshark只能抓取有线数据包,要抓无线数据包只能用Omnipeek;而在Linux下,我们可以直接使用wireshark来抓取无线数据包
# apt-get install wireshark-qt
在安装指引弹出的对话框中,问是否允许非管理员用户用wireshark抓包
,可以选否
。
# iwconfig wlan0 down
# iwconfig wlan0 mode monitor
# iwconfig wlan0 up
其中wlan0
是无线网卡的名字,不同PC可能会不一样,可以通过iwconfig
查看。
# iwconfig wlan0 channel 6
最后,就可以打开wireshark开始抓包了,后面的操作和windowns下一样,选定网卡,设置过滤条件… Enjoy it.
若打开wireshark后,老是会弹出Lua:Error during loading
对话框,可以通过以下方法解决:
使用管理员权限编辑文件/usr/share/wireshark/init.lua
,把倒数第二行改成:
--dofile(DATA_DIR.."console.lua")
这样就不会再弹出错误对话框了。
Jacob Pan ( jacobpan3g.github.io/cn )
Ubuntu下
# apt-get install samba
备份原来的配置文件
# mv /etc/samba/smb.conf /etc/samba/smb.conf.backup
# touch /etc/samba/smb.conf
将一下内容写进新建的配置文件中
[global]
security = user
[jsamba]
path = /home/jacob
valid users = jacob
writeable = yes
public = yes
其中,jacob
是我的用户名,这里你改成自己的用户名。
# smbpasswd -a jacob
同理,这里的jacob
改成你自己的用户,必须要和上述配置的valid users
那一项里的内容相一致
# smbpasswd -x jacob
通过这条命令可以删除用户,更多的选项可见smbpasswd -h
# service smbd restart
# service smbd status
第二条命令可以查看当前smbd的运行状态。
大功告成,现在用windows文件浏览器就可以通过ip地址\\192.168.XX.XX
访问你的linux文件了
在lubuntu 14.04下发现用windows登录不上,linux下使用smbclient能登录上
在windows输入ip地址登录不上,提示“\XXX\XXX is not accessible. You might not have permission to use this network resource.”,在linux使用smbclient
smbclient -L 192.168.0.xx # 列出共享文件夹
smbclient \\192.168.0.xx\xxx # 访问文件夹
链接成功后,就可以使用ls
,cd
等命令访问共享文件夹了。
查看samba的log,在/var/log/samba/log.smbd
,发现有下面错误提示
Bad talloc magic value - access after free
安装一下libtalloc2,重启smbd就能解决
sudo apt-get install libtalloc2
Jacob Pan ( jacobpan3g.github.io/cn )
# fdisk -l
首先,目录一定要是空白的目录,可以通过mkdir
创建一个新目录, 然后通过mount
挂载
# mount /dev/sda9 ~/mnt/files/
一般来说,要挂载的硬盘叫做“设备”,所挂载的目录叫做“挂载点”。
挂载完成后,可以通过
df
来查看当前PC所挂载的所有硬盘。
# umount <device>
# umount <mount point>
以上两条命令都可以卸载硬盘。
编辑/etc/fstab
文件,添加以下类似内容
/dev/sda5 /home/jacob/mnt/d ntfs-3g defaults 0 0
/dev/sda10 /home/jacob/mnt/mind ext4 defaults 0 0
其中,
ntfs-3g
修改完/etc/fstav
后,可采用# mount -a
将所有写在该文件里的设备全部挂载上
Jacob Pan ( jacobpan3g.github.io/cn )
Ubuntu下
# apt-get install minicom
dmesg | grep tty
我的PC的打印如下:
[ 0.000000] console [tty0] enabled
[ 0.783396] 00:07: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
从第二行可以看出,我的串口是/dev/ttyS0
,若是USB串口,会是ttyUSB0
等字样。
$ $LANG=EN //设置成英文环境
# minicom -s
在配置页面中选择Serial port setup
A - Serial Device:
为步骤2中找到的窗口设备名,/dev/ttyS0
为
No`修改完成后按回车键,然后在菜单中选择Save setup as dfl
,再选择Exit
。
配置完成后,就可以通过# minicom
来使用串口了
在minicom中,按<ctrl a> z
进入帮助界面,再按x
或q
就可以退出。
在minicom中,按<ctrl a> z
进入帮助界面,O (configure Minicom) - Screen and keyboard - M (Edit Macros)
在minicom中,按<ctrl a> z
进入帮助界面,L (Capture on/off) - 输入log文件名按回车
Jacob Pan ( jacobpan3g.github.io/cn )
Mac下的dylib库,其实就是Linux下的动态库*.so
,下面分享一下在mac下面如何编译动态库, 用一个简单的例子说明,首先,创建一下目录结构:
.
├── libfoo.h
├── libfoo.c
└── main.c
// libfoo.h
#ifndef __LIBFOO_H__
#define __LIBFOO_H__
void lib_function();
#endif
// libfoo.c
#include <stdio.h>
void lib_function() {
printf("dylib hello world\n");
}
// main.c
#include "libfoo.h"
int main() {
lib_function();
return 0;
}
使用一下命令,把libfoo.dylib
编译出来
gcc -dynamiclib foo.c -o libfoo.dylib
然后尝试用main.c
调用这个dylib
gcc main.c -L. -lfoo -o main
./main
若整个过程没有报错,并有以下打印,就说明这个dylib编译成功。
dylib hello world
Jacob Pan ( jacobpan3g.github.io/cn )
通过一下命令,可以一次性把dir/
下多个gbk文件转成utf-8文件,并放在指定目录下:
$ find <dir> -type d -exec mkdir -p <utf dir>/{} \;
$ find <dir> -type f -exec bash -c "iconv -f GBK -t UTF-8 {} -o <utf dir>/{}" \;
其中
dir/
的目录结构创建一个目录树,这里创建的只有目录, 里面时没有文件的, 后半段命令的{}
代表的是前半段find
输出的每一行iconv -f GBK -t UTF-8 <file> -o <out dir>
, 把<file>
转成utf-8并放在<out dir>
里Jacob Pan ( jacobpan3g.github.io/cn )