问:
wireshark无法定位程序输入点
答:
Wireshark是一款很强大的网络抓包分析工具,但它无法精确定位某个程序的网络输入点,主要有以下几个原因:
1. Wireshark工作在OSI模型的第2层数据链路层和第3层网络层,它可以抓取并解析这两层及以上的网络数据包,但无法确定这些数据包是由哪个具体的程序所发送或接收的。一个数据包在网络层中只包含IP地址信息,而不是程序名称信息。
2. 同一台主机上的多个程序可能会使用相同的网络端口进行通信。Wireshark虽然可以过滤出使用特定端口的网络流量,但无法进一步区分这些流量是属于哪个程序的。多个程序可以同时使用HTTP协议的80端口,或HTTPS的443端口进行网络请求。
3. 一些程序的网络连接时断时续,并不总是持续的。当Wireshark捕捉到这样的间歇连接时,很难确定这个连接属于哪个运行中的程序。
4. 某些程序会多次变更自己使用的源端口,这样通过源端口也无法准确定位该程序的所有网络数据。
5. Wireshark无法抓取加密的网络数据包内容。如果某个程序使用HTTPS或其他加密协议与网络对接,Wireshark只能获取数据包的头信息,无法深入抓取和分析程序的数据内容。
总之,Wireshark作为一款通用的网络 packets 分析工具,很难实现对指定程序网络行为的完全监控和精确定位。监控特定程序的网络交互,还需要辅助使用其他手段,如修改程序源代码加入debug信息、安装程序的网络代理插件等。仅凭Wireshark获取的信息难以对程序的输入点和行为进行全面精确的定位。