[问题][己解决]linux 下的TCP /UDP调试工具

为当前最终发行版之前的所有版本提供支持
回复
头像
spectater
帖子: 665
注册时间: 2008-02-03 18:53
送出感谢: 0
接收感谢: 1 次

[问题][己解决]linux 下的TCP /UDP调试工具

#1

帖子 spectater » 2011-04-19 10:13

现在有一个udp 协议, 需要调试

具体的任务就是向指定ip的机器的端口发一个字符串(udp协议), 对方收到后返回一个字符串

我需要做的就是发个包过去, 然后收到对方的包, 如果收到的内容正确就可以了.

google了一下, 似乎netcat 和tcpdump都可以, 但没有详细的介绍.

不懂这些东西, 不知道上面的内容说清楚了没有, 希望有专业人士指点.
上次由 spectater 在 2011-04-27 17:42,总共编辑 1 次。
头像
雨坤毅
帖子: 232
注册时间: 2010-08-28 14:34
系统: ArchLinux
送出感谢: 2 次
接收感谢: 1 次
联系:

Re: [问题]linux 下的TCP /UDP调试工具

#2

帖子 雨坤毅 » 2011-04-19 10:41

wireshark也可以...而且还方便
---------------------------------------
http://yky.me
---------------------------------------
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid
送出感谢: 1 次
接收感谢: 23 次

Re: [问题]linux 下的TCP /UDP调试工具

#3

帖子 leeaman » 2011-04-19 10:43

路过~~~不懂帮顶
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
spectater
帖子: 665
注册时间: 2008-02-03 18:53
送出感谢: 0
接收感谢: 1 次

Re: [问题]linux 下的TCP /UDP调试工具

#4

帖子 spectater » 2011-04-19 11:38

雨坤毅 写了:wireshark也可以...而且还方便

只有抓包的概念, 发包不得要领, 愿闻其详
头像
weilichun
帖子: 218
注册时间: 2007-09-09 15:41
来自: Beijing
送出感谢: 0
接收感谢: 1 次
联系:

Re: [问题]linux 下的TCP /UDP调试工具

#5

帖子 weilichun » 2011-04-19 12:14

代码: 全选

nc -u hostname port_number
头像
spectater
帖子: 665
注册时间: 2008-02-03 18:53
送出感谢: 0
接收感谢: 1 次

Re: [问题]linux 下的TCP /UDP调试工具

#6

帖子 spectater » 2011-04-19 21:10

谢谢各位, 方法有了,
现在两台linux电脑可以发送和收udp包

还有一个问题,怎样确保发送的字符串是ASCII , 到时调试时对方只是一台仪器.

也许这问题问得很奇怪,但还是想问下, 这与local有没有关系?
头像
weilichun
帖子: 218
注册时间: 2007-09-09 15:41
来自: Beijing
送出感谢: 0
接收感谢: 1 次
联系:

Re: [问题]linux 下的TCP /UDP调试工具

#7

帖子 weilichun » 2011-04-20 10:09

spectater 写了:谢谢各位, 方法有了,
现在两台linux电脑可以发送和收udp包

还有一个问题,怎样确保发送的字符串是ASCII , 到时调试时对方只是一台仪器.

也许这问题问得很奇怪,但还是想问下, 这与local有没有关系?
和仪器不仪器的没关系,大家是通过UDP协议来通信。
头像
spectater
帖子: 665
注册时间: 2008-02-03 18:53
送出感谢: 0
接收感谢: 1 次

Re: [问题]linux 下的TCP /UDP调试工具

#8

帖子 spectater » 2011-04-23 22:37

weilichun 写了:
spectater 写了:谢谢各位, 方法有了,
现在两台linux电脑可以发送和收udp包

还有一个问题,怎样确保发送的字符串是ASCII , 到时调试时对方只是一台仪器.

也许这问题问得很奇怪,但还是想问下, 这与local有没有关系?
和仪器不仪器的没关系,大家是通过UDP协议来通信。
\r \n 这样的特殊ASCII 字符怎么传?
achen.han
帖子: 442
注册时间: 2010-09-08 23:33
送出感谢: 0
接收感谢: 1 次

Re: [问题]linux 下的TCP /UDP调试工具

#9

帖子 achen.han » 2011-04-24 0:17

echo -n "\r\n" |nc -u hostname port
头像
spectater
帖子: 665
注册时间: 2008-02-03 18:53
送出感谢: 0
接收感谢: 1 次

Re: [问题]linux 下的TCP /UDP调试工具

#10

帖子 spectater » 2011-04-27 11:16

achen.han 写了:echo -n "\r\n" |nc -u hostname port
多谢指点, 我这里的实践证明:


发送非特殊的ASCII 字符时, 如果要求尾部不带 line feed 或carriage return,可这样发:

代码: 全选

echo -n "非特殊的ASCII 字符" |nc -u hostname port
发送line feed(\n)或 carriage return(\r), 可以这样:

代码: 全选

echo -e "\r\n"|nc -u hostnam  port

照下面这样发, \r\n 当成了4个普通ASCII字符被发了出去.

代码: 全选

echo -n "\r\n" |nc -u hostname port
头像
widon1104
帖子: 778
注册时间: 2008-07-17 10:55
送出感谢: 0
接收感谢: 2 次

Re: [问题]linux 下的TCP /UDP调试工具

#11

帖子 widon1104 » 2011-04-27 11:40

viewtopic.php?f=137&t=290901
这个使用比较简单。。。
头像
spectater
帖子: 665
注册时间: 2008-02-03 18:53
送出感谢: 0
接收感谢: 1 次

Re: [问题]linux 下的TCP /UDP调试工具

#12

帖子 spectater » 2011-04-27 17:34

widon1104 写了:viewtopic.php?f=137&t=290901
这个使用比较简单。。。
socket编程是今后了解的方向, 调试一下协议, nc差不多了.



总结一下, 如果用udp协议发这样一个字符串:

代码: 全选

test\r\n
其中\n为line feed , \r为 carriage return.


可以这样:

代码: 全选

echo -en "test\r\n"|nc -u hostname port
achen.han
帖子: 442
注册时间: 2010-09-08 23:33
送出感谢: 0
接收感谢: 1 次

Re: [问题][己解决]linux 下的TCP /UDP调试工具

#13

帖子 achen.han » 2011-04-27 22:10

时间长忘记具体参数,多谢实践反馈,又学习了新的知识。
回复

回到 “老旧版本支持”