小编Jef*_*eux的帖子

使用boost :: property_tree :: ptree将注释写入ini文件

有没有办法使用boost :: property :: ptree在ini文件中写注释?

像这样的东西:

  void save_ini(const std::string& path)
  {
      boost::property_tree::ptree pt;
      int first_value = 1;
      int second_value = 2;

      // Write a comment to describe what the first_value is here
      pt.put("something.first_value", );
      // Write a second comment here
      pt.put("something.second_value", second_value);

      boost::property_tree::write_ini(path, pt);
  }
Run Code Online (Sandbox Code Playgroud)

这里的文档没有提供信息.有没有提升工具呢?

提前致谢

c++ ini boost

5
推荐指数
1
解决办法
1399
查看次数

在 scapy 中确认数据的确认号

我正在玩 scapy,尝试做一个类似 nmap 的操作,我成功地进行了三向握手,如果我连接到 smtp 服务器,我会自动接收数据,但我无法确认。

我已经通过 netcat 连接到它,看看为什么它不起作用,并且 nc 实际上发送了一个 ACK​​ 数据包,其中 TCP ack 字段设置为接收到的数据段的长度 + 1。所以我试图对 scapy 做同样的事情,但是我不知道在哪里可以找到 TCP 段的长度。我尝试了 lsc(TCP) 但我看不到该字段。

这是 netcat 连接的wireshark捕获:

在此处输入图片说明

以及数据包的详细信息:

在此处输入图片说明

如您所见,数据正下方的数据包的 ack 字段是 37 + 1 = 38。

有人知道在哪里或如何找到它吗?

编辑:

实际上没有给出段长度的字段,但可以用两种方法计算:

    tcp_seg_len = len(rp.getlayer(Raw).load)
    # or
    ip_total_len = rp.getlayer(IP).len
    ip_header_len = rp.getlayer(IP).ihl * 32 / 8
    tcp_header_len = rp.getlayer(TCP).dataofs * 32 / 8
    tcp_seg_len = ip_total_len - ip_header_len - tcp_header_len

    ans_ack,unans_ack = sr(IP(dst=ip)/TCP(sport=pkt[1].dport, \
                                          dport=pkt[1].sport, \
                                          seq=rp[1].ack, \
                                          ack=tcp_seg_len + 1, \ …
Run Code Online (Sandbox Code Playgroud)

python network-programming scapy

5
推荐指数
1
解决办法
3995
查看次数

标签 统计

boost ×1

c++ ×1

ini ×1

network-programming ×1

python ×1

scapy ×1