本机代理到虚拟机

由于局域网限MAC地址,VmWare虚拟机不能直接连接物理网络,只能NAT模式,那么怎么让别人的电脑连接到本机虚拟机里的服务程序呢?

比如虚拟机里的服务程序IP为192.168.38.132,端口为5454,

本机IP为192.168.1.67,现在我们做一个代理,让别人能访问到192.168.38.132:5454。

在本机,以管理员模式运行cmd,输入

1
2
3
4
5
netsh
interface
portproxy
 
add v4tov4 listenaddress=192.168.1.67 listenport=5454 connectaddress=192.168.38.132 connectport=5454

记住,再禁掉本机防火墙!
此时,别人的电脑就可以访问此虚拟机里的服务程序了。

当不再需要此代理时,在本机,以管理员模式运行cmd,输入

1
2
3
4
5
netsh
interface
portproxy
 
delete v4tov4 listenaddress=192.168.1.67 listenport=5454

注意:微软的netsh只能转发tcp包,没有实现转发udp包。

参考:https://blog.csdn.net/mergerly/article/details/50747930

linux关闭或开启网络端口

关闭80端口

1
iptables -A INPUT -ptcp --dport 80 -j DROP

而开启80端口要看情况,不能简单的一句

1
iptables -A INPUT -ptcp --dport 80 -j ACCEPT

因为其中的-A表示append一条规则到规则链上,之前存在一条DROP链,其后再加一条ACCEPT链,80端口还是会被禁掉。

先用如下命令看一下规则链

1
iptables -L

把DROP那一链删掉

1
2
iptables -D INPUT -ptcp --dport 80 -j ACCEPT
iptables -D INPUT -ptcp --dport 80 -j DROP

如果默认是所有端口都禁用,那就在空链里加一条ACCEPT链。

最后保存

1
iptables-save

EuhatWorkTrace任务栏图标不见了

任务栏属性-〉通知区域-〉自定义,找到Expert/Euhat Work Trace图标,行为下拉框中选择“显示图标和通知”,确定保存,这样任务栏里WorkTrace图标就又显示出来了。

还有一种情况,当explorer.exe进程重启后,Euhat Work Trace或Euhat Expert通知区域的小图标也会消失,这时,要么双击程序exe,要么退出程序再启动。

命令行可以执行nohup后却不能执行

有一个脚本/root/kill.sh:

1
2
3
4
5
#!/bin/sh
while [ 1 ]; do
	sudo kill -9 `pidof java`
	sleep 10
done

在命令行执行很正确,能隔一段时间把所有的java进程都杀掉了。
但执行:

1
nohup /root/kill.sh &

现象就很奇怪了,有时候能杀掉所有java进程,有时候不干活,java进程依然存在,让人怀疑人生。
无意中打开nohup.out发现有输出:
sudo没有与之关联的会话。
于是,修改kill.sh,把kill之前的sudo去掉就正常了。

Bash读取某一行某一列

打印第11行:
sed -n "11, 1p" /tmp/tmp.txt
或者
awk 'NR == 11 {print}' /tmp/tmp.txt

打印第3列:
awk '{print $3;}' /tmp/tmp.txt

打印总行数:
awk 'END {print NR}' /tmp/tmp.txt

ultraiso虚拟光驱总是删除不干净

用regedit查找ultraiso,找到PropertyStore结点下有个结点中含有

Users\euhat\AppData\Local\Temp\UltraISO\UltraISO.exe

在资源管理器中找到相应目录,发现如下文件删不掉。

C:\Users\euhat\AppData\Local\Temp\UltraISO\drivers\ISODrv64.sys

则,再次运行ultraiso程序,选项->配置->虚拟光驱->设备数量设为0,保存。退出ultraiso程序。
再regedit查找ultraiso,找到

1
计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ISODrive

删除此键,退出regedit,重启电脑就能看到在资源管理器里,烦人的虚拟光驱盘符去掉了。

记得上面提到的ISODrv64.sys现在可以删掉。

本地网卡和WIFI网卡共存不能上网

原因是路由都走本地网卡了,这点可以用tracert命令证明。

于是,用以下三条命令可实现上网:

1
2
3
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 192.168.43.1
route add 192.168.0.0 mask 255.255.0.0 192.168.1.1

其中192.168.43.1是WIFI网关,192.168.1.1是本地网关。