网络编程
网络编程
、Edgar
Coding with fun
展开
-
Rust实现udp 服务端和客户端
客户端use std::io::{self};use std::net::UdpSocket;fn main() { let client = UdpSocket::bind("127.0.0.1:8889").unwrap(); client.connect("127.0.0.1:8080").unwrap(); let mut buf = String::new(); loop { let size = io::stdin().read_lin原创 2021-08-21 20:14:27 · 1500 阅读 · 0 评论 -
Rust tcp 客户端和服务端实现
客户端use std::io::{self, Write};use std::net::TcpStream;fn main() { let mut stream = TcpStream::connect("127.0.0.1:8080").expect("connect failed"); loop { let mut input = String::new(); let size = io::stdin().read_line(&mut input).expect原创 2021-08-21 19:57:15 · 3783 阅读 · 0 评论 -
linux下使用getaddrinfo获取相关地址信息
/* 使用getaddrinfo获取主机对应的相关数据*/#include <iostream>#include <netdb.h>#include <string.h>#include <iomanip>#include <netdb.h>#include <arpa/inet.h>using std::cout;using std::dec;using std::endl;using std::hex;原创 2021-04-24 08:53:07 · 665 阅读 · 0 评论 -
Linux 下C++实现socket服务端和客户端
server.cpp#include <iostream>#include <unistd.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/in.h>#include <thread>#include <signal.h>#include <arpa/inet.h>using namespace std;//原创 2021-01-21 13:16:43 · 1606 阅读 · 0 评论 -
使用Go自己动手搭建一个HTTP代理服务器
代理服务器的工作方式如下:客户端向代理服务器发送请求,表明自己需要请求的网站内容代理服务器接收到来自客户端的请求之后,通过解析,获取到需要访问的web服务代理服务器将客户端的请求信息全部转发给web服务器web服务器返回响应消息给代理服务器代理服务器将返回的消息转发给对应的客户端下面介绍一下如何使用golang搭建一个简单的HTTP代理服务器(不支持HTTPS)1. 首先,我们需要绑定一个端口监听客户端的请求,如果客户端发送请求,便进行相关处理func main() { // 端口原创 2021-01-07 09:58:39 · 2249 阅读 · 0 评论 -
golang 实现端口扫描
对端口进行扫描基于连接,在go中我们可以使用net.Dial进行判断,如果返回的结果没有错误,那么这个端口就应该是打开的,如果返回了错误,那么可以说明这个端口是关闭的,代码如下func ScanPort(protocol string, hostname string, port int) bool { fmt.Printf("scanning port %d \n", port) p := strconv.Itoa(port) addr := net.JoinHostPort(hostname,原创 2020-12-30 19:48:39 · 1246 阅读 · 0 评论 -
使用golang发送icmp包
package mainimport ( "fmt" "net")func main() { const IcmpLen = 8 var msg [512]byte msg[0] = 8 // type msg[1] = 0 // code msg[2] = 0 // checkSum -> 2 byte msg[3] = 0 msg[4] = 0 // identifier[0] msg[5] = 13 // identifier[1] msg[6] = 0 //原创 2020-12-06 13:32:16 · 2516 阅读 · 0 评论 -
golang 简单实现udp服务端和udp客户端
服务端package mainimport ( "fmt" "net" "time")func main() { udpAddr, err := net.ResolveUDPAddr("udp", ":8888") if err != nil { fmt.Println("Err resolve UDP address: ", err) return } serverConn, err := net.ListenUDP("udp", udpAddr) if err !=原创 2020-10-08 18:38:00 · 1212 阅读 · 0 评论 -
golang 简单实现tcp服务端和tcp客户端
服务端package mainimport ( "fmt" "net" "time")func main() { address := net.TCPAddr{ IP: net.ParseIP("127.0.0.1"), Port: 8000, } listener, err := net.ListenTCP("tcp", &address) if err != nil{ fmt.Println("ERR: ", err) return } for原创 2020-10-08 18:46:11 · 609 阅读 · 0 评论