还记得我在很久很久以前和大家推荐的FiddlerCharles debugger么?他们都是HTTP的神器级调试工具,非常非常的好用。好工具能让你事半功倍,基本上,我是属于彻头彻尾的工具控。

假如有一天,你写“传统”的PHP有些累了,想玩玩socket了,搞搞python、NodeJS、GO之类的新兴语言或框架(当然我不是说这些语言不能写web),或者干脆就用PHP吧,事实上PHP5.4的性能提高的真是相当之多,用PHP 的socket函数就能简单的写一个web socket服务器 (代码在评论里)了,甚至有个很不错的PHP框架—— swoole,他和其他的大多数常见的框架都不同,因为他不依赖http服务器!号称高级开发框架,“目标是向Java框架、Rails On Ruby、Python Django Pylons等一流框架发起挑战”的一种以socket方式运行的PHP框架。还有一个叫nanoserv,……我说这么多就是为了证明PHP也能玩好socket的,所以socket以及TCP、UDP都是平易近人的。

说工具

1、wireshark

这个工具是抓包的神器,我不知道有没有在以前的文章里提及,总之,他是好评如潮,谁用谁知道,我就不班门弄斧的多做蹩脚的介绍了,只说一点,他会自作聪明的按照端口号来解码协议,有的时候被他弄的一塌糊涂,此时选择不解码任何协议即可。

2、sokit

国人写的一个TCP、UDP socket调试辅助工具,非常的好用,基于QT框架,所以在linux和windows下都能用,他能很方便的组装二进制数据包,很方面的模拟分包、粘包。有客户端、服务器、转发器三种模式,转发器实际上就是一个透明代理,原理和Fidder类似,所以可以轻量级的进行抓包,当然不能断点调试的啦。

用这个玩意发现一个小bug,就是在发二进制包的时候[00,88] ,就这个中括号后面多了一个空格,也会被发出去,有一次我在这里栽了跟头,当然在日志中仔细查看能够看到完整的发出的包(这个故事告诉我们,日志很重要)

3、TCP/IP Builder

这个是我早期使用的一个工具,现在有了sokit,基本不使用他了,这个东东的特点是体积小

4、TCP/UDP Socket调试工具 2.3

相比之下,这个工具就没有什么特点了,嗯是的,甚至没有官方主页(工具界面上还带了点小广告),也推荐一下了,如果你觉得适合你的口味的话,至少我用了他一段时间的

5、TCPView

也是Windows下的神器,主要是查看当前的TCP连接、UDP连接状态,也可以断开正在传输数据的连接。她除了平时测试、调试TCP等用到,有的时候还能发现一些莫名奇妙的连接,那么就该查查你的系统了。

6、一些自己写的小脚本、小工具,就不献丑了,何况这些每个人都能自己写。

就是这些了,如果你有牛逼的神器收藏,欢迎与我交流

7. tcpdump
8. ngrep
9. Microsoft Network Monitor
10. Microsoft Research TCP Analyzer

推荐一些socket工具,TCP、UDP调试、抓包工具 推荐一些socket工具,TCP、UDP调试、抓包工具的更多相关文章

  1. python 全栈开发,Day33(tcp协议和udp协议,互联网协议与osi模型,socket概念,套接字(socket)初使用)

    先来回顾一下昨天的内容 网络编程开发架构 B/S C/S架构网卡 mac地址网段 ip地址 : 表示了一台电脑在网络中的位置 子网掩码 : ip和子网掩码按位与得到网段 网关ip : 内置在路由器中的 ...

  2. 计算机网络知识(TCP连接,TCP/UDP区别,HTTP与HTTPS,Socket原理等等)

    1.网络七层协议包含,物理层.数据链路层.网络层(ip协议).传输层(TCP传输控制协议.UDP用户数据报协议).会话层.表示层.应用层(http协议).是一个提供的概念架构协议. 2.TCP/IP协 ...

  3. 无连接运输的UDP、可靠数据传输原理、面向连接运输的TCP

    由[RFC 768]定义的UDP只是做了运输协议能够做的最少工作.除了复用/分解功能极少量的差错检测外,它几乎没有对IP增加别的东西.如果应用程序开发人员选择UDP而不是TCP,则该应用程序差不多就是 ...

  4. socket跟TCP/IP 的关系,单台服务器上的并发TCP连接数可以有多少

    常识一:文件句柄限制 在Linux下编写网络服务器程序的朋友肯定都知道每一个tcp连接都要占一个文件描述符,一旦这个文件描述符使用完了,新的连接到来返回给我们的错误是"Socket/File ...

  5. TCP/IP网络协议的通俗理解,SOCKET,HTTP,SOAP

    TCP/IP,HTTP,SOAP等协议之区别   术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想 ...

  6. Linux下TCP网络编程与基于Windows下C#socket编程间通信

    一.linux下TCP网络编程基础,需要了解相关函数 Socket():用于套接字初始化. Bind():将 socket 与本机上的一个端口绑定,就可以在该端口监听服务请求. Listen():使s ...

  7. socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

    Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...

  8. 【TCP/IP详解 卷一:协议】第十一章 UDP 用户数据报协议

    11.1 引言 UDP 是一个简单的 面向数据报 的运输层协议:进程的每个 输出操作 都正好产生一个 UDP数据报,并且组装成一份待发送的IP数据报. 这与 TCP 不一样,它是 面向流字符 的协议, ...

  9. [转]socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

    Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...

  10. Python网络编程(2)-粘包现象及socketserver模块实现TCP并发

    1. 基于Tcp的远程调用命令实现 很多人应该都使用过Xshell工具,这是一个远程连接工具,通过上面的知识,就可以模拟出Xshell远程连接服务器并调用命令的功能. Tcp服务端代码如下: impo ...

随机推荐

  1. Java通过JDBC链接数据库,数据库中wen

    连接数据库设置编码 jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8

  2. C# 想要程序文件移动 而数据保持相对位置

    如果用的数据库是access数据库 可以把数据库文件放到bin\debug下面,引用相对位置就可以了 如果程序中有上载文件,而程序需要使用到该文件,那么我们最好也是引用相对文件,我们只需要在数据表中的 ...

  3. Exception和RuntimeException

    public class RuntimeExceptionDemo01 { public static void main(String[] args) {     String string=&qu ...

  4. mac定时任务

    <?xml version=”1.0″ encoding=”UTF-8″?><!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” ...

  5. android网络通讯数据封装之 json

    Demo程序包括客户端和服务端 客户端按json数据格式封装数据传至服务端. 服务端为简单的servlet程序,负责接收客户端传到json数据,然后按原数据返回客户端. 实例代码如下: public ...

  6. C语言数据结构----栈与递归

    本节主要说程序中的栈函数栈的关系以及栈和递归算法的关系. 一.函数调用时的栈 1.程序调用时的栈是也就是平时所说的函数栈是数据结构的一种应用,函数调用栈一般是从搞地质向低地址增长的,栈顶为内存的低地址 ...

  7. cocos2dx CCControlSlider

    有的同学建议先上图,好吧,先上效果图 再看代码,创建了两个CCControlSlider在主窗口中 // on "init" you need to initialize your ...

  8. 《Java4Android视频教程》学习笔记(二)

    一:面向对象 1.对象 ①对象的使用方法 对象.变量 对象.方法 ②匿名对象 new A().方法 new A().变量 匿名对象会被分配到对内存中 java内存处理机制会对一定时间内无指针指向的对象 ...

  9. CentOS ips bonding

    centos ip bonding 一个网卡多个ips,多个网口一个ip 1,配置一个网卡多ips的情况cp /etc/sysconfig/network-scripts/ifcfg-eth0 /et ...

  10. class类的sizeof计算

    class no_virtual { public: void fun1() const{} int fun2() const { return a; } private: int a; } clas ...