日常随笔——frp内网穿透的使用以及相关问题

这几天在别人那整了一台服务器,但怎么连接也是一个问题,由于不在同一个内网,所以需要借助内网穿透工具。好不容易解决了内网穿透,结果接连两天,内网穿透端口都一直被人攻击(心中一万只草泥马奔腾而过)。因此,这里也记录一下如何防护陌生IP攻击。

1. 内网穿透frp

什么是内网穿透:
主机A在10.21.0.0/16 局域网内,主机B在10.39.0.0/16 局域网内,那么这两台主机不能相互通信。此时需要做的就是找一台中介服务器,作为这两台主机的通信媒介。
实现内网穿透后能做什么:
实现了后就可以在校外直接访问校内的服务器,不需要校园VPN。

送上frp的下载链接:github-frp
通过主页可以看到已经有很多版本,我下载的是frp_0.38.0_linux_amd64.tar.gz 版本。该问价解压后的目录如下:
在这里插入图片描述

  • frpc命名开头的文件是客户端,即client。也就是上述的主机中需要使用的
  • frps命名开头的是服务端,即server。也就是上述的中介服务器
  • .ini结尾的就是配置文件
  • 绿色的表示执行文件

现在我们需要从校外访问校内的主机A,那么就要通过一个拥有外网IP的服务器B做中介,其配置如下:

客户端(校内主机A):
修改frpc.ini
在这里插入图片描述
配置的意思:主机A通过服务器IP:9877,来跟服务器B建立连接,并且接受服务器B的6000端口的所有信息。

服务端(拥有外网IP的服务器B)
修改frps.ini
在这里插入图片描述
只需要填写监听端口9877, log_file在后面会用到


此时在主机A和服务器B上运行即可,运行命令:

./frpc -c frpc.ini  # 客户端
./frps -c frps.ini  # 服务端

在校外网络的主机C上运行ssh命令

ssh -p 6000 用户@公网服务器IP

这里的用户是校内主机A里面的用户名。

2 如何防止攻击

上述配置后的frp,其工作模式其实就是将6000端口的内容全部转发给主机A的22端口。因此会有很多暴力攻击端口,如果稍加不注意,很容易被暴力破解掉密码,然后黑进服务器,偷GPU、CPU来挖矿。下面给出几个防止此类事情发生的方法:

我用的是第三种,但是攻击者的IP一直在变,因此在github上找到了一个开源项目:frptables
作者也给出了项目解释:Go frp内网穿透防暴力破解工具

代码的工作模式很简单,分析frp的日志找到对应的请求IP地址,根据IP地址查询IP所在地,如果不是目标区域的地址,则将其加入到禁止IP表中

对于WPF中的ListBox和ListView控件,修改选中项的前景色可以通过修改控件的样式来实现。以下是一种可能的解决方案: 1. 首先,需要将ListBox或ListView的SelectionMode属性设置为Single或Extended,以便只能选择单个项或多个项。 2. 然后,需要为控件定义一个样式。可以使用以下代码: ``` <Style TargetType="ListBoxItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListBoxItem"> <Border Name="Border" Padding="2" SnapsToDevicePixels="true"> <ContentPresenter /> </Border> <ControlTemplate.Triggers> <Trigger Property="IsSelected" Value="true"> <Setter TargetName="Border" Property="Background" Value="LightBlue"/> <Setter Property="Foreground" Value="White"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="Gray"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> ``` 这个样式将ListBoxItem的背景色设置为LightBlue,并将前景色设置为白色。当项被选中时,将应用IsSelected触发器,并将前景色设置为白色。当项被禁用时,将应用IsEnabled触发器,并将前景色设置为灰色。 3. 最后,将ListBox或ListView的ItemContainerStyle属性设置为新定义的样式。例如: ``` <ListBox ItemContainerStyle="{StaticResource MyListBoxItemStyle}"> <ListBoxItem>Item 1</ListBoxItem> <ListBoxItem>Item 2</ListBoxItem> <ListBoxItem>Item 3</ListBoxItem> </ListBox> ``` 通过这种方式,就可以自定义ListBox或ListView的选中项前景色了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值