目录
可以实现一个TCP / UDP服务端 / 客户端,进行数据传输:
可以模拟浏览器连接http服务器、模拟浏览器表单发送到http服务器。
网络相关命令:
(一)ping
检测host地址或者域名代表的主机是否可达。
(二)ifconfig
查看当前主机的网卡及服务状态。
(三)netstat
netstat命令详解:Linux下netstat命令详解_netstat -ntlp-CSDN博客
查看当前主机tcp端口的使用情况、服务运行情况。
sudo netstat -tanp
如图,显示了协议、接收缓冲区字节数大小、发送缓冲区字节数大小、本地地址:端口号、远端地址:端口号、状态、线程PID / 进程名字等信息。
(四)netcat(简称nc)
netcat具有很强大的功能,附上一篇不错的文章链接:
可以实现一个TCP / UDP服务端 / 客户端,进行数据传输:
netcat -l host port——模拟实现一个可以收发数据的TCP服务器。
netcat host port——模拟一个可以收发数据的TCP客户端。
nc可以在两台机器之间相互传递信息,如图,在右边的终端中先监听一个端口(8888):
nc -l -p 8888
注:参数l是监听模式的意思,参数p是指定一个端口。
我发送了个“123”。在此之前查看了ip地址(192.168.43.72),然后在左边的终端中来连接该端口(此时应使用ip + 端口的形式去连接)。
nc -nv 192.168.43.72 8888
连接成功以后,可以发现左边窗口自动显示出“123”的信息。此时我在左边回了一个“456”,右边也很快显示出来。说明他们已经成功建立了通信,当我在左终端用快捷键“Ctrl + c”退出连接之后,可以发现右终端也随即退出。
(五)tcpdump
Linux上非常实用的抓包工具。
tcpdump -i[网卡名称] host[ip地址] port[端口号]
???
(六)telnet
一个简单的tcp远程客户端。
telnet ip地址 port端口号
先使用nc监听了一个端口,发送了一条“123”,当使用telnet + ip + 端口号连接该端口的时候,就可以立即收到刚才发送的消息。使用Ctrl + c并不能退出telnet命令并断开连接,服务端出现了乱码字符。当在服务端退出端口监听时,连接才断开。
注:在telnet命令中按ctrl + ] 退出。
虽然客户端已断开,但是服务端终端仍处于监听状态。使用快捷键Ctrl + c退出:
(七)curl(开发Java Web程序时)
可以模拟浏览器连接http服务器、模拟浏览器表单发送到http服务器。
curl + url地址——可以模拟浏览器连接http服务器、模拟浏览器表单发送到http服务器。
???
curl -v url地址——可以把模拟的浏览器客户端和http服务器通信的细节全部输出。
???