假设两点:
1 不能让访问真正访问到真实服务器
2 记录访问发送的内容
我的笨方法:
1 在网关上控制数据的访问
2 建立一个网关,把所有转发数据都发送到本地webserver,记录日志
3 修改被监控的机器网关
Step 1,iptables脚本:
Step 2,建立nginx记录日志(配置简化):
Step 3,修改被检测机器的网关为刚才的服务器
这个结果是,被检测的机器发送的所有外网请求都会记录在日志里,日志里包含了域名、post的数据、cookie信息等,比如:
比如可以知道机器做了啥:
1 访问阿权的书房的
2 不明白什么访问的
3 访问谷歌的
4 360提交了什么东西
5 微软提交了什么东西
6 有道词典的数据,有cookie信息
知道访问的域名了,就可以在真正的网关禁止访问某个ip($x)即可。
完成~~
PS: 我们的大大的防火墙是否也类似这样呢。。
参考阅读:
1 透明代理配置
2 使用nginx截取https数据
3 NginxHttpLogModule
4 iptables 端口转发
原创内容如转载请注明:来自 阿权的书房
1 不能让访问真正访问到真实服务器
2 记录访问发送的内容
我的笨方法:
1 在网关上控制数据的访问
2 建立一个网关,把所有转发数据都发送到本地webserver,记录日志
3 修改被监控的机器网关
Step 1,iptables脚本:
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -P FORWARD ACCEPT
iptables -A INPUT -t filter -s 192.168.1.1/24 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp -d ! 192.168.1.1/24 -j REDIRECT --to-ports 80
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -P FORWARD ACCEPT
iptables -A INPUT -t filter -s 192.168.1.1/24 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp -d ! 192.168.1.1/24 -j REDIRECT --to-ports 80
Step 2,建立nginx记录日志(配置简化):
log_format main '$remote_addr - $http_host [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "||$http_cookie||" "||$request_body||"';
server {
listen 80;
server_name localhost;
access_log /Data/logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
}
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "||$http_cookie||" "||$request_body||"';
server {
listen 80;
server_name localhost;
access_log /Data/logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
}
Step 3,修改被检测机器的网关为刚才的服务器
这个结果是,被检测的机器发送的所有外网请求都会记录在日志里,日志里包含了域名、post的数据、cookie信息等,比如:
引用
192.168.1.27 - www.aslibra.com [13/May/2010:19:50:09 +0800] "GET / HTTP/1.1" 404 169 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET
CLR 3.5.30729)"||-||" "||-||"
192.168.1.27 - 221.176.31.1 [13/May/2010:19:50:09 +0800] "POST /ht/sd.aspx?t=i&i=1 HTTP/1.1" 404 169 "-" "IIC2.0/PC 3.6.2020" "||ssi
c=||" "||-||"
192.168.1.27 - www.google.com.hk [13/May/2010:19:50:10 +0800] "GET / HTTP/1.1" 200 151 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windo
ws NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "||-||" "||-||"
192.168.1.27 - qurl.f.360.cn [13/May/2010:19:50:10 +0800] "POST /check_outchain.php HTTP/1.1" 404 169 "-" "Post_Multipart" "||-||" "
||-||"
192.168.1.27 - www.sqm.microsoft.com [13/May/2010:19:51:18 +0800] "POST /sqm/messenger/sqmserver.dll HTTP/1.1" 404 169 "-" "MSDW" "|
|-||" "||-||"
192.168.1.27 - dict.youdao.com [13/May/2010:19:51:23 +0800] "GET /fsearch?client=deskdict&keyfrom=deskdict.network_test&q=Yodao%20di
ct%20Retest&pos=7&doctype=xml&xmlVersion=3.2&dogVersion=1.0&id=3d933c2ef00b99c1&vendor=360z&in=___________________3.1.17.6336&appVer
=3.1.17.6336&le=eng&wstate=yes&proc=iexplore.exe HTTP/1.1" 404 169 "-" "Yodao Desktop Dict (Windows 5.1.2600)" "||OUTFOX_SEARCH_USER
_ID=-2146282@1.2.3.4; DESKDICT_VENDOR=360z; JSESSIONID=bfds6TxoFfFvb_uv1srIs||" "||-||"
CLR 3.5.30729)"||-||" "||-||"
192.168.1.27 - 221.176.31.1 [13/May/2010:19:50:09 +0800] "POST /ht/sd.aspx?t=i&i=1 HTTP/1.1" 404 169 "-" "IIC2.0/PC 3.6.2020" "||ssi
c=||" "||-||"
192.168.1.27 - www.google.com.hk [13/May/2010:19:50:10 +0800] "GET / HTTP/1.1" 200 151 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windo
ws NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "||-||" "||-||"
192.168.1.27 - qurl.f.360.cn [13/May/2010:19:50:10 +0800] "POST /check_outchain.php HTTP/1.1" 404 169 "-" "Post_Multipart" "||-||" "
||-||"
192.168.1.27 - www.sqm.microsoft.com [13/May/2010:19:51:18 +0800] "POST /sqm/messenger/sqmserver.dll HTTP/1.1" 404 169 "-" "MSDW" "|
|-||" "||-||"
192.168.1.27 - dict.youdao.com [13/May/2010:19:51:23 +0800] "GET /fsearch?client=deskdict&keyfrom=deskdict.network_test&q=Yodao%20di
ct%20Retest&pos=7&doctype=xml&xmlVersion=3.2&dogVersion=1.0&id=3d933c2ef00b99c1&vendor=360z&in=___________________3.1.17.6336&appVer
=3.1.17.6336&le=eng&wstate=yes&proc=iexplore.exe HTTP/1.1" 404 169 "-" "Yodao Desktop Dict (Windows 5.1.2600)" "||OUTFOX_SEARCH_USER
_ID=-2146282@1.2.3.4; DESKDICT_VENDOR=360z; JSESSIONID=bfds6TxoFfFvb_uv1srIs||" "||-||"
比如可以知道机器做了啥:
1 访问阿权的书房的
2 不明白什么访问的
3 访问谷歌的
4 360提交了什么东西
5 微软提交了什么东西
6 有道词典的数据,有cookie信息
知道访问的域名了,就可以在真正的网关禁止访问某个ip($x)即可。
iptables -t nat -A PREROUTING -p tcp -m tcp -d $x -j REJECT
或者
iptables -t nat -A PREROUTING -p tcp -m tcp -d $x -j REDIRECT --to-ports 80
或者
iptables -t nat -A PREROUTING -p tcp -m tcp -d $x -j REDIRECT --to-ports 80
完成~~
PS: 我们的大大的防火墙是否也类似这样呢。。
参考阅读:
1 透明代理配置
2 使用nginx截取https数据
3 NginxHttpLogModule
4 iptables 端口转发
原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
a
2010/05/17 12:56
所有的包都转发到本地,不会影响上网呢
hqlulu 回复于 2010/05/17 13:13
为了检测这个,你可以用一个虚拟机做呀。。
分页: 1/1
1
1
转:微软不再软,网吧就硬不起来
煲耳机事项
