linux之端口联通性测试-nc命令

背景: 在linux系统上排查问题,常常需要测试端口或网络的联通性。在网上找到的教程都不是很靠谱,通过大量的查询,自己总结了比较靠谱的方法。

tcp 协议测试

通常有两种方法: telnet  [ 目标ip 端口 ] 和nc  -v  [ 目标ip 端口 ] 

如果服务器有已启用的端口,例如8080 可以直接使用测试 ,如果服务器上没有端口,可以使用 nc -tl [ 端口 ] 在服务端启动端口

telnet  [ 目标ip 端口 ] 

客户端用 telnet向服务端发送TCP消息 111  和 adasdsad 两条消息
[root@localhost ~]# telnet 192.168.160.129 6000 
Trying 192.168.160.129...
Connected to 192.168.160.129.
Escape character is '^]'.
111    
adasdsad

服务端设置端口接收消息
[root@localhost ~]# nc -tl 6000 
111
adasdsad

nc  -v  [ 目标ip 端口 ]

客户端用nc命令向服务端发送TCP消息 123 和 acfggbghj
[root@localhost ~]# nc -v 192.168.160.129 6000  
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.160.129:6000.
123
acfggbghj

服务端设置端口接收TCP消息
[root@localhost ~]# nc -tl 6000   
123
acfggbghj

UPD协议测试

客户端用nc命令向服务端发送udp消息 1234567 和 abcd
[root@localhost ~]# nc -u 192.168.160.129 6000 
1234567
abcd

服务端设置端口接收UDP消息
[root@localhost ~]# nc -ul 6000 
1234567
abcd

注: 服务端也可以用tcpdump 命令抓包查看报文信息,涉及到抓包知识这里不再叙述。

       tcpdump -i any host 192.168.160.128 -s 0 -A 

posted @ 2023-08-22 12:38  黑羽小白  阅读(1430)  评论(0)    收藏  举报