使用tcpdump抓包

Publish: October 31, 2015 Category: Shell No Comments

可以使用tcpdump抓网络包,配合wireshark进行数据分析:

Capture Filters

语法: <协议名> <方向> <Host(s)> <value> <逻辑操作符> <表达式>
例子:
1. tcp src port 443 # 只抓取来源端口是443的tcp数据
2. not arp # 不获取arp数据
3. port 80 # 获取端口是80的数据,不指定代表都获取
4. src 192.168.1.121 and port 233 # 获取来源是192.168.1.121端口是233的数据

怎么看待<逻辑操作符>:
1. <协议名> <方向> <Host(s)> <value> 当作一个表达式 <Expression>
2. <逻辑操作符> 是链接多个表达式的.
3. <表达式1> <逻辑操作符> <表达式2> <逻辑操作符> <表达式3> ...

Display Filter: (注意点.)

语法: <协议>.<string1>.<string2>.<比较操作符><value> <逻辑操作符> <表达式>
例子:
1. tcp.port==80 # 显示端口是80的tcp数据
2. !arp         # 不展示ARP协议的数据
3. ip.addr==192.168.1.111 # 只显示地址是192.168.1.111的数据,不论来源还是目标地址
4. (ip.dst==42.156.152.144) && !(ip.dst==42.156.152.144)


阅读剩余部分...

常用命令

Publish: October 28, 2015 Category: Shell No Comments

curl:

# 相当于wget
curl -LO http://xxxxxxx


git: (引用)

# 安装git:
yum install git-core

#最常用的 git 命令有:
   add        添加文件内容至索引
   bisect     通过二分查找定位引入 bug 的变更
   branch     列出、创建或删除分支
   checkout   检出一个分支或路径到工作区
   clone      克隆一个版本库到一个新目录
   commit     记录变更到版本库
   diff       显示提交之间、提交和工作区之间等的差异
   fetch      从另外一个版本库下载对象和引用
   grep       输出和模式匹配的行
   init       创建一个空的 Git 版本库或重新初始化一个已存在的版本库
   log        显示提交日志
   merge      合并两个或更多开发历史
   mv         移动或重命名一个文件、目录或符号链接
   pull       获取并合并另外的版本库或一个本地分支
   push       更新远程引用和相关的对象
   rebase     本地提交转移至更新后的上游分支中
   reset      重置当前HEAD到指定状态
   rm         从工作区和索引中删除文件
   show       显示各种类型的对象
   status     显示工作区状态
   tag        创建、列出、删除或校验一个GPG签名的 tag 对象
# 配置帐号和邮箱
git config --global --edit
# 创建新仓库
git init

# 检出仓库
# 执行如下命令以创建一个本地仓库的克隆版本:
git clone /path/to/repository
# 如果是远端服务器上的仓库,你的命令会是这个样子:
git clone username@host:/path/to/repository

# 修改.git/config:
[remote "origin"]
url = https://[your name]@github.com/.../xxx.git

# 添加和提交
# 你可以提出更改(把它们添加到暂存区),使用如下命令:
git add <filename>
git add *
# 这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:
git commit -m "代码提交信息"
# 现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。

# 推送改动
# 你的改动现在已经在本地仓库的 HEAD 中了。
# 执行如下命令以将这些改动提交到远端仓库:
git push origin master
# 可以把 master 换成你想要推送的任何分支。

# 如果你还没有克隆现有仓库,并欲将你的仓库
# 连接到某个远程服务器,你可以使用如下命令添加:
git remote add origin <server>

# 更新
git pull

# 查看当前状态
git status

# 查看操作日志
git log

# 删除目录
git rm -rf <目录名>

# 删除文件
git rm <文件名>

# 如果在 git push 时出现: Gtk-WARNING **: cannot open display:
# 解决方法,执行: unset SSH_ASKPASS


netstat:

# 查看本机监听的端口、进程号和进程名称
netstat -lntp
-l:  只列监听中的连接
-n:  不做IP反解,仅列出IP
-t:  tcp
-p:  列出进程名

# 查看本机所有连接信息(本机监听端口,客户端口IP:port,连接状态,进程号和进程名称)
netstat -antp
-a:  显示所有选项,默认不显示Listen相关
-n:  不做IP反解,仅列出IP
-t:  tcp
-p:  列出进程名


库生成:

    1. 静态库:

ar -rsv libpr.a pr1.o pr2.o

    2. 动态库:

# Linux and Other Unix
gcc -O -fpic -shared -o d1.so d1.c

# Solaris and Sco
cc -O -KPIC -G -o d1.so d1.c



--------------------------------------------

XCode:

# 创建真机与模拟器共用静态库:
# lipo -create [真机库] [模拟器库] -output [共用库]
lipo -create /Users/xxxx/Library/Developer/Xcode/DerivedData/.../Build/Products/Debug-iphoneos/libMyApi.a /Users/xxxx/Library/Developer/Xcode/DerivedData/.../Build/Products/Debug-iphonesimulator/libMyApi.a -output ./libMyApi.a




Xcode 插件

Publish: October 26, 2015 Category: 默认分类 No Comments

XAlign (代码对齐)

    https://github.com/qfish/XAlign


VVDocument-Xcode (自动添加注释)

    https://github.com/onevcat/VVDocumenter-Xcode

...


引用: http://www.yangch.info/?page_id=666