Linux下通过iptables抓取tcp连接
1.1.1 iptables原理
1.1.2 以本地为源的包路径
Step
Table
Chain
Comment
1
本地程序(比如,服务程序或客户程序)
2
路由判断,要使用源地址,外出接口,还有其他一些信息。
3
mangle
OUTPUT
在这儿可以mangle包。建议不要在这儿做过滤,可能有副作用哦。
4
nat
OUTPUT
这个链对从防火墙本身发出的包进行DNAT操作。
5
filter
OUTPUT
对本地发出的包过滤。
6
mangle
POSTROUTING
这条链主要在包DNAT之后(译者注:作者把这一次DNAT称作实际的路由,虽然在前面有一次路由。对于本地的包,一旦它被生成,就必须经过路由代码的处理,但这个包具体到哪儿去,要由NAT代码处理之后才能确定。所以把这称作实际的路由。),离开本地之前,对包 mangle。有两种包会经过这里,防火墙所在机子本身产生的包,还有被转发的包。
7
nat
POSTROUTING
在这里做SNAT。但不要在这里做过滤,因为有副作用,而且有些包是会溜过去的,即使你用了DROP策略。
8
离开接口(比如: eth0)
9
在线路上传输(比如,Internet)
1.1.3 规则添加
从上面可以看出只需要在OUTPUT链增加如下的类似规则即可实现将特定ip + port的tcp连接劫持到本地某个端口即可
目的ip: 200.200.30.228 端口443
本地ip: 200.200.30.122, 端口28888
iptables -t nat -A OUTPUT -p tcp -d 200.200.30.228 -j DNAT --dport 443 --to-destination 200.200.30.122:28888
测试OK
1.1.4 相关处理
(1) 依赖于iptables工具
(2) 应用层如何获取对应关系?
其实这个时候可以通过netstat命令发现如下奇怪的现象:
同时和200.200.30.228的443端口和本地28888端口建立了连接,
所以这里也可以获取到原来要连接的资源和端口
相关文档:
Wget是一个十分常用命令行下载工具,多数Linux发行版本都默认包含这个工具。如果没有安装可在 http: //www.gnu.org/software/wget/wget.html 下载最新版本,并使用如下命令编译安装:
# tar zxvf wget-1.9.1.tar.gz
# cd wget-1.9.1
# ./configure
# make
# make install
它的用法很简单.
1)支持断点下 ......
设置dsn后虽然虚拟机可以上网了,但是用户名变成了bogon,而不是之前的localhost,去掉DNS后重启虚拟机就又变成了localhost
然后就可以mount本机了
还有一种方法:
hostname 显示当前主机名
hostname localhost 设置当前主机名为localhost
估计也可以解决上述不能mount的问题。 ......
记录常用操作:
文件及文件夹相关
=======================================================================
文件操作(rm);
文件夹操作(rmdir 删除空文件,rm -rf 目录名删除非空文件夹);
文件移动:mv cp都可以;
解压缩:tar
格式: tar 选项 文件目录列表
功能: 对文件目 ......
by Bjorn Chambless
Introduction
The following is designed familiarize the reader with programming in x86 (AT&T
style, that produced by gcc) assembly under Linux and how to interface assembly
and higher-level language code (i.e. C). The tutorial will also briefly cover
debugging yo ......
ron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond ......