在Linux中,你可以使用Ruby脚本来管理网络端口
sudo apt-get update
sudo apt-get install ruby
port_manager.rb
的Ruby脚本文件:touch port_manager.rb
port_manager.rb
文件并添加以下内容:require 'socket'
def open_port?(ip, port)
begin
socket = TCPSocket.new(ip, port)
socket.close
true
rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
false
end
end
def manage_port(action, ip, port)
case action
when "check"
if open_port?(ip, port)
puts "Port #{port} is open on #{ip}"
else
puts "Port #{port} is closed on #{ip}"
end
when "open"
# To open a port, you need to run a server on that port.
# Here's an example of how to do it with a simple HTTP server:
server = TCPServer.new(ip, port)
puts "Port #{port} is now open on #{ip}"
Thread.new do
loop do
client = server.accept
client.puts "Hello from port #{port}!"
client.close
end
end
when "close"
# Closing a port requires stopping the service running on that port.
# This is beyond the scope of a simple script and depends on the service itself.
puts "To close a port, you need to stop the service running on it."
else
puts "Invalid action. Use 'check', 'open', or 'close'."
end
end
if ARGV.length == 3
action, ip, port = ARGV
manage_port(action, ip, port.to_i)
else
puts "Usage: ruby port_manager.rb<action> <ip> <port>"
puts "Actions: check, open, close"
end
192.168.1.100
的设备上的端口8080
是否开放,请运行:ruby port_manager.rb check 192.168.1.100 8080
请注意,此脚本仅用于演示目的。在实际应用中,你可能需要根据你的需求对其进行修改和优化。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。