我正在使用套接字编程在两个Android平板电脑上设置客户端和服务器软件。一个Android平板电脑是客户端,另一个是服务器。
在示例代码中,作者创建了IP地址和端口号,如下所示。我的端口和IP地址选项有哪些?如果我选择不同的端口,我可以使用的端口范围是多少,我可以使用的IP地址范围是多少?也就是说,如果我不想使用10.0.2.15作为IP,并且使用不同于8080的端口。
// default ip
public static String SERVERIP = "10.0.2.15";
// designate a port
public static final
因此,我一直在使用IPTables和bash脚本来自动检测服务器上的暴力攻击(平均每天至少50次--这是正常的吗?)我的服务器为我记录这些攻击,然后每天早上将新的攻击IP地址转储到IPtables永久阻止它们。
我不认为我有什么问题,但我只是好奇到底发生了什么。基本上,我的脚本是添加IP地址,但是当我用iptables -L命令显示当前规则时,IP似乎会被转换。为什么会这样呢?
例如,我运行以下命令:
iptables -A INPUT -s 95.9.203.101 -j DROP
当我做iptables -L时,它会显示如下:
DROP all -- 95.9.203.10
我试图用路由器的公共ip连接到java的服务器套接字,
首先,我尝试将服务器套接字配置为本地主机,如下所示,
server = new ServerSocket(5000);
它在本地主机上工作,但不尝试内部ip 192.168.1.6。然后,我尝试将服务器套接字配置到内部Ip (见此),代码如下,
int backlog = 5;
server = new ServerSocket(5000, backlog, InetAddress.getByName("192.168.1.6"));
当我的设备连接到同一个网络时,我可以从一个设备连接到这个Ip 192.168.1.6,I
我正在用python实现一个原始的套接字程序,我遇到了bind(),在那里我可以将我的套接字绑定到接口。据我所知,该函数的第一个字段是我希望绑定到的接口。第二个字段是什么?,这是以太类型(如IP4)吗?在Python文档中的中,代码如下所示:
# create a raw socket and bind it to the public interface
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))
为什么第二个字段是零?在其他中,我经常看到它被设置为0x0800