linux 关闭端口代码
时间: 2023-08-29 10:08:22 浏览: 52
在 Linux 中关闭端口需要使用 firewall 或 iptables 工具,具体操作如下:
1. 使用 iptables 命令关闭端口:
```
sudo iptables -A INPUT -p tcp --dport <port_number> -j DROP
```
其中 `<port_number>` 是要关闭的端口号。
2. 使用 firewall-cmd 命令关闭端口:
```
sudo firewall-cmd --zone=public --remove-port=<port_number>/tcp --permanent
sudo firewall-cmd --reload
```
其中 `<port_number>` 是要关闭的端口号。
注意:以上操作可能会影响服务器的正常运行,请谨慎操作。建议在关闭端口前备份相关配置文件,并定期检查服务器安全状态。
相关问题
LINUX C 写一段 UDP 发送 发送成功后关闭端口的代码
下面是一个简单的Linux C代码示例,用于发送UDP数据包并关闭UDP端口:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define PORT 8888
int main(int argc, char* argv[]) {
int sockfd;
struct sockaddr_in addr;
char buf[] = "Hello, World!"; // 发送的数据
int buf_len = strlen(buf) + 1; // 数据长度
// 创建UDP socket
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
perror("socket");
exit(EXIT_FAILURE);
}
// 设置目标地址和端口
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_port = htons(PORT);
// 发送数据
if (sendto(sockfd, buf, buf_len, 0, (struct sockaddr*)&addr, sizeof(addr)) == -1) {
perror("sendto");
exit(EXIT_FAILURE);
}
// 关闭UDP端口
if (close(sockfd) == -1) {
perror("close");
exit(EXIT_FAILURE);
}
return 0;
}
```
在上面的代码中,我们首先创建了一个UDP socket,然后设置了要发送数据的目标地址和端口,并使用`sendto`函数发送了数据。最后,我们关闭了UDP端口。
需要注意的是,如果在发送数据之前调用了`bind`函数绑定了本地端口,那么在关闭UDP端口之前需要先调用`shutdown`函数关闭连接,然后再关闭UDP socket。
linux scapy编写代码
Scapy是一个强大的Python库,用于网络数据包的创建、发送和解析。它可以用于网络协议开发、网络扫描、攻击和防御等方面。下面是一个简单的示例,展示了如何使用Scapy编写一个简单的网络扫描工具:
```python
from scapy.all import *
# 定义目标IP和端口范围
target_ip = "192.168.0.1"
start_port = 1
end_port = 100
# 循环遍历指定端口范围
for port in range(start_port, end_port+1):
# 构造TCP SYN数据包
packet = IP(dst=target_ip) / TCP(dport=port, flags="S")
# 发送数据包并等待响应
response = sr1(packet, timeout=1, verbose=0)
# 判断是否收到响应
if response is not None:
# 判断响应数据包中的TCP标志位是否为SYN-ACK
if response.haslayer(TCP) and response.getlayer(TCP).flags == "SA":
print(f"Port {port} is open")
else:
print(f"Port {port} is closed")
```
这段代码使用Scapy构造了TCP SYN数据包,并发送到指定的目标IP和端口范围。然后通过判断收到的响应数据包中的TCP标志位来确定端口的状态(开放或关闭)。