linux钩子硬盘序列号,Linux内核钩子,知道套接字的目标进程

Stephan Schl..

5

一种简单的方法可能是使用Linux网络命名空间.

Linux网络命名空间

顾名思义,网络命名空间将网络设备,地址,端口,路由,防火墙规则等的使用划分为单独的框,实质上是在单个运行的内核实例中虚拟化网络.网络命名空间在2.6.24中进入内核,...

取消共享

unshare()允许进程(或线程)取消当前与其他进程(或线程)共享的部分执行上下文.

测试用例

由于程序应该能够与自身通信,我们需要一个通过sockes与自身通信的程序.有一个很酷的SO答案,显示了一个简单的Java程序,它传输文本'Hello World!' 通过套接字自身,请参见/sf/ask/17360801/.

/usr/bin/java SendReceive

按预期工作,输出'Hello World!'

使用-n选项,可以取消共享网络命名空间.

unshare -n -- sh -c '/usr/bin/java SendReceive'

给出一个SocketException:网络无法访问,因为无法访问回送设备.

unshare -n -- sh -c 'ip link set dev lo up; /usr/bin/java SendReceive'

终于转移'Hello World!' 再次通过环回接口.BTW:这是一个私有环回设备.您无法访问标准环回设备上的开放端口.

另请参阅这个很酷的Unix Stackexchange答案:https://unix.stackexchange.com/a/83348 :阻止进程的网络访问?

截图

这里是在Ubuntu 18.10上执行的上述测试用例的屏幕截图:

Jt7dG.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值