AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[tcpdump](server)

Martin Hope
tiger_groove
Asked: 2022-03-31 12:52:17 +0800 CST

在 iptables 中添加 REDIRECT 规则后,Tcpdump 显示不同的重定向端口

  • 3

我正在尝试将客户端流量定向到正在侦听的 kubernetes 集群 NodePort 192.168.1.100.30000。

客户需要发出请求,192.168.1.100.8000所以我在 iptables 中添加了以下 REDIRECT 规则:

iptables -t nat -I PREROUTING -p tcp --dst 192.168.1.100 --dport 8000 -j REDIRECT --to-port 30000

然后我发出一个 curl,192.168.1.100:8000但是,在 tcpdump 中我看到了一个不同的端口:

# tcpdump -i lo -nnvvv host 192.168.1.100 and port 8000
tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
[Interface: lo] 20:39:22.685968 IP (tos 0x0, ttl 64, id 20590, offset 0, flags [DF], proto TCP (6), length 40)
[Interface: lo]     192.168.1.100.8000 > 192.168.1.100.49816: Flags [R.], cksum 0xacda (correct), seq 0, ack 3840205844, win 0, length 0
[Interface: lo] 20:39:37.519256 IP (tos 0x0, ttl 64, id 34221, offset 0, flags [DF], proto TCP (6), length 40)

我希望 tcpdump 显示类似

192.168.1.100.8000 > 192.168.1.100.30000

但是,它显示并导致连接被拒绝错误,因为没有进程列在192.168.1.100.49816.

192.168.1.100.8000 > 192.168.1.100.49816

我正在使用测试环境,所以我无法访问远程设备,这就是我curl用来测试 iptables REDIRECT 路径的原因。

添加 REDIRECT 规则是否会导致 tcpdump 将流量重定向到指定端口以外的其他端口?

编辑:

在@AB 建议后添加了以下 OUTPUT 规则:

iptables -t nat -I OUTPUT -d 192.168.1.100 -p tcp --dport 8000 -j REDIRECT --to-port 30000

并且 curl 确实继续进行,OUTPUT 链的数据包计数确实增加了(虽然 PREROUTING REDIRECT 链数据包没有增加):

2       10   600 REDIRECT   tcp  --  *      *       0.0.0.0/0            192.168.1.100         tcp dpt:8000 redir ports 30000

但是,收到以下错误:

# curl -vk https://192.168.1.100:8000/v1/api
* About to connect() to 192.168.1.100 port 8000 (#0)
*   Trying 192.168.1.100...
* Connected to 192.168.1.100 (192.168.1.100) port 8000 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* NSS error -12263 (SSL_ERROR_RX_RECORD_TOO_LONG)
* SSL received a record that exceeded the maximum permissible length.
* Closing connection 0
curl: (35) SSL received a record that exceeded the maximum permissible length.

另外,尝试添加一个远程系统网络,这次 PREROUTING REDIRECT CHAIN 数据包计数在执行后增加remotesystem curl ...(但 OUTPUT CHAIN 不增加):

2       34  2040 REDIRECT   tcp  --  *      *       0.0.0.0/0            172.16.128.1         tcp dpt:8000 redir ports 30000

错误:

# ip netns exec remotesystem curl -vk https://192.168.1.100:8000/v1/api
* About to connect() to 192.168.1.100 port 8000 (#0)
*   Trying 192.168.1.100...
* Connection timed out
* Failed connect to 192.168.1.100:8000; Connection timed out
* Closing connection 0
curl: (7) Failed connect to 192.168.1.100:8000; Connection timed out
tcpdump iptables
  • 1 个回答
  • 413 Views
Martin Hope
Johannes Weiss
Asked: 2022-01-29 01:22:32 +0800 CST

从 pcap 文件中提取 TCP 应用程序数据

  • 2

给定一个.pcap(或类似的)文件,我想选择一个 TCP 连接并将两个应用程序数据流(一个来自另一个对等方,一个两个来自另一个对等方)转储到磁盘上的两个单独文件中。

假设我有一个.pcap文件,除其他外,我知道它包含 HTTP/1.1 明文连接的完整 TCP 流(从 SYN 到最终 FIN+ACK/RST)。我想要两个包含内容的结果文件。IE。一个文件有

GET / HTTP/1.1\r\n
host: foobar.com\r\n
\r\n

另一个文件有

HTTP/1.1 200 ok\r\n
content-length: ...\r\n
... \r\n
\r\n
<html>...</html>

我希望这正是在用户空间中看到/发送的应用程序数据流量(来自read// recv`/...)write。send/我想要做的是转储一些流量并使用它来测试我的解析器是否有某个网络协议。解析器应该只能读取其中一个文件并尝试解析数据流。


这样的命令行工具怎么看?我不确定这是否超级有用,但我认为如果我还提供了一个可以执行此操作的虚构工具的使用示例,它可能会让我在寻找什么更清楚。让我们称之为虚构的工具(这就是我要找的)tcp-stream-extract。我想用类似的东西来称呼它

### imaginary usage example of the tool that I'd like to find :)

# dump from 12345 to 23456
tcp-stream-extract \
    -i my-captured-packets.pcap
    -s 127.0.0.1:12345        \ # source address 127.0.0.1:12345
    -d 127.0.0.1:23456        \ # destination address 127.0.0.1:23456
    -t '2021-01-28 09:12:00Z' \ # the TCP conn was alive at that time
    -w from-port-12345-to-port-23456

# dump from 23456 to 12345
tcp-stream-extract \
    -i my-captured-packets.pcap
    -s 127.0.0.1:23456        \ # source address 127.0.0.1:12345
    -d 127.0.0.1:12345        \ # destination address 127.0.0.1:23456
    -t '2021-01-28 09:12:00Z' \ # the TCP conn was at that time
    -w from-port-23456-to-port-12345
networking tcpdump pcap parsing network-traffic
  • 1 个回答
  • 410 Views
Martin Hope
Denver123
Asked: 2021-09-29 04:29:54 +0800 CST

tcpdump 输出具有不同的主机名

  • 1

对于这个简单的问题,我很抱歉,但我正在尝试对 tcpdump 和网络进行自我教育。

我正在跟踪流向某个主机的所有流量

tcpdump -SX -i any dst host host.site.com

但是,在 tcpdump 输出中,我看到打印出不同的域,例如 edge-123.site.com.

我对两个 URL 进行了 ping 操作,它们具有相同的 IP,所以这就是我要查询的流量。

我想了解为什么我会在输出中得到不同的主机名,如何防止这种情况发生?谢谢。

tcpdump
  • 1 个回答
  • 206 Views
Martin Hope
SmootQ
Asked: 2021-08-22 05:43:05 +0800 CST

如何找到发送数据包的linux用户[重复]

  • 1
这个问题在这里已经有了答案:
如何处理受损的服务器? (13 个回答)
去年关闭。

我们的服务器遭到入侵,我们想知道哪些帐户从我们的服务器发送了恶意查询。我用 tcpdump 来得到这个:

 our.host.net.48194 > box5596.bluehost.com.http: Flags [P.], cksum 0x0bf8 (incorrect -> 0x5061), seq 0:741, ack 1, win 229, options [nop,nop,TS val 260555861 ecr 3817788688], length 741: HTTP, length: 741
    POST /xmlrpc.php HTTP/1.1
    Host: www.devynamaya.com
    User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0
    Content-Length: 484
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip
    Connection: close
    
    <?xml version="1.0"?><methodCall><methodName>system.multicall</methodName><params><param><value><array><data><value><struct><member><name>methodName</name><value><string>wp.getUsersBlogs</string></value></member><member><name>params</name><value><array><data><value><array><data><value><string>admin</string></value><value><string>password123</string></value></data></array></value></data></array></value></member></struct></value></data></array></value></param></params></methodCall>[!http]

另一方面,我安装了不同的其他工具,例如,,clamav...等。对于 tcpdump 数据包,我使用.chrootkitrkhunterwireshark

问题是我似乎找不到发送该数据包的用户,因此我可以暂停他们的 cpanel 帐户。

是否有任何工具可以帮助跟踪被入侵的帐户?我们在这台服务器上有数百名用户,这就像大海捞针。

如果我不知道哪个客户端的网站受到攻击,那么分析数据包将毫无用处。

谢谢 !

security tcpdump wireshark packet
  • 1 个回答
  • 78 Views
Martin Hope
Christian
Asked: 2021-07-29 23:46:40 +0800 CST

带有 Tap 接口的 QEMU VM 可以看到所有包来自管理程序而不是真实源 IP

  • 0

我已经使用 Alpine Linux 设置了一个非常简单的 Hypervisor,我的 VM 看到所有流量都来自 hypervisor 的 IP。

这也意味着如果 fail2ban 试图阻止攻击,它总是会阻止虚拟机管理程序 IP

如何让 VM 看到真实的 IP 地址,而不仅仅是管理程序的 IP?

接口设置

在 HV ( 192.168.5.5) 上,我有一个br0工作正常的桥接接口

# tun1 setup script on Hypervisor
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables -P FORWARD ACCEPT
ip tuntap add dev tap1 mode tap user root
ip link set dev tap1 up
ip link set tap1 master br0

qemu-system-x86_64 [..non related parameters removed ..] \
-device virtio-net-pci,netdev=network0,mac=02:1f:ba:26:d7:56 \
-netdev tap,id=network0,ifname=tap1,script=no,downscript=no

VM 可以访问 Internet,但它看到的所有流量都来自管理程序的 IP。

虚拟机只看到 HV IP

有人甚至试图使用我的服务器进行 DNS 放大攻击(尽管在我的 PFSense 防火墙上阻止了传出) DNS放大攻击

Fail2ban 也阻止了错误的 IP 显示阻塞的 HV ip 的 fail2ban 日志

kvm-virtualization tcpdump alpine qemu tun
  • 1 个回答
  • 379 Views
Martin Hope
sqr
Asked: 2021-07-09 04:04:45 +0800 CST

ping 和 tcpdump 的长度不同

  • 1

我不知道为什么我不能在 tcpdump 下看到正确的长度值,它应该是 $((9706-28)) = 9678,但我看到了9686。两边都有一个 MTU 设置为 9706,这是我正在使用的接口的最大值。

我运行命令:

ping -D -s $((**9706**-28)) 192.11.14.28
PING u1428-11 (190.11.14.28): 9678 data bytes
**9686** bytes from 192.11.14.28: icmp_seq=0 ttl=64 time=0.249 ms
**9686** bytes from 192.11.14.28: icmp_seq=1 ttl=64 time=0.421 ms

并检查 tpcdump:

tcpdump -nevvvi mlnx0
192.11.14.29 > 192.11.14.28: ICMP echo request, id 23329, seq 1, length **9686**
11:41:35.881615 3a:db:46:ce:e8:b7 > 52:54:00:7d:3d:59, ethertype 802.1Q (0x8100), length 9724: vlan 100, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 9706)
tcpdump mtu
  • 1 个回答
  • 45 Views
Martin Hope
kansas_bulldog382
Asked: 2021-03-19 08:01:14 +0800 CST

有没有办法禁用 TCP 分段卸载以防止从环回接口捕获大于 MTU 的数据包?

  • 0

我正在尝试在我的 linux 机器上创建一些捕获。我遇到的问题是,我从环回接口获取的任何捕获都将包含比 MTU 大得多的大量数据包。这似乎是因为 TCP分段卸载。我尝试遵循此答案中的建议并将以下内容放在 /etc/network/interfaces 中:

auto lo
iface lo intet loopback
   mtu 1518
   offload-tx off
   offload-rx off
   offload-sg off
   offload-tso off
   offload-rxvlan off
   offload-txvlan off

但我仍然收到比我捕获的 MTU 大得多的大量数据包。有没有什么办法解决这一问题?

linux tcpdump linux-networking packet-capture
  • 1 个回答
  • 434 Views
Martin Hope
Christian Toffolo
Asked: 2021-02-09 10:31:34 +0800 CST

两个客户端可以连接到 OpenVPN 服务器,但另一个不能

  • 0

我有一个运行 Ubuntu 20.04 和 3 个客户端的外部 OpenVPN 服务器:

  • 客户端 1 (Android 11)
  • Client2(Windows 10 和 Virtualbo 主机)
  • Client3(Ubuntu 20.04 Virtualbox 来宾)

所有 3 个客户端都能够通过 SSH 连接到服务器,但只有客户端 1 和 2 可以连接到服务器 OpenVPN。这让我发疯:客户端 3 可以通过 SSH 连接到服务器,但不能通过 OpenVPN。

我专注于 client3,因为 1 和 2 都可以。这是我的连接尝试:

$ openvpn --config leaf9.ovpn
Mon Feb  8 18:56:56 2021 Unrecognized option or missing or extra parameter(s) in leaf9.ovpn:14: block-outside-dns (2.4.7)
Mon Feb  8 18:56:56 2021 OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep  5 2019
Mon Feb  8 18:56:56 2021 library versions: OpenSSL 1.1.1g  21 Apr 2020, LZO 2.10
Mon Feb  8 18:56:56 2021 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Mon Feb  8 18:56:56 2021 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Mon Feb  8 18:56:56 2021 TCP/UDP: Preserving recently used remote address: [AF_INET]123.123.123.0:1194
Mon Feb  8 18:56:56 2021 Socket Buffers: R=[131072->131072] S=[16384->16384]
Mon Feb  8 18:56:56 2021 Attempting to establish TCP connection with [AF_INET]123.123.123.0:1194 [nonblock]
Mon Feb  8 18:57:00 2021 TCP: connect to [AF_INET]123.123.123.0:1194 failed: Connection refused
Mon Feb  8 18:57:00 2021 SIGUSR1[connection failed(soft),init_instance] received, process restarting
Mon Feb  8 18:57:00 2021 Restart pause, 5 second(s)
^CMon Feb  8 18:57:00 2021 SIGINT[hard,init_instance] received, process exiting

在服务器 OpenVPN 日志上没有任何反应(客户端 1 和 2 我可以看到连接成功) 似乎 client3 OpenVPN 数据包没有到达服务器,但它的 SSH 数据包可以。

通过 OpenVPN 连接的 tcpdump

18:58:22.229266 IP leaf9.51870 > 123.123.123.0.1194: Flags [S], seq 1069973754, win 64240, options [mss 1460,sackOK,TS val 4103806626 ecr 0,nop,wscale 7], length 0
18:58:22.233116 IP leaf9.56081 > fritz.box.domain: 56163+ PTR? 15.2.0.10.in-addr.arpa. (40)
18:58:22.298298 IP fritz.box.domain > leaf9.56081: 56163 NXDomain 0/0/0 (40)
18:58:22.301063 IP leaf9.51370 > fritz.box.domain: 3433+ PTR? 1.1.168.192.in-addr.arpa. (42)
18:58:22.302352 IP fritz.box.domain > leaf9.51370: 3433* 10/1/1 PTR fritz.box., PTR www.fritz.box., PTR myfritz.box., PTR www.myfritz.box., PTR fritz.nas., PTR www.fritz.nas., PTR fritz-nas.fritz.box., PTR fritz-nas.box., PTR wpad.box., PTR wpad.fritz.box. (336)
18:58:23.247988 IP leaf9.51870 > 123.123.123.0.1194: Flags [S], seq 1069973754, win 64240, options [mss 1460,sackOK,TS val 4103807645 ecr 0,nop,wscale 7], length 0
18:58:24.460201 IP 123.123.123.0.1194 > leaf9.51870: Flags [R.], seq 0, ack 1069973755, win 0, length 0

通过 SSH 连接的 tcpdump

18:57:53.793395 IP leaf9.43942 > 123.123.123.0.22: Flags [S], seq 4052391502, win 64240, options [mss 1460,sackOK,TS val 4103778190 ecr 0,nop,wscale 7], length 0
18:57:53.798315 IP leaf9.34189 > fritz.box.domain: 26719+ PTR? 15.2.0.10.in-addr.arpa. (40)
18:57:53.848711 IP fritz.box.domain > leaf9.34189: 26719 NXDomain 0/0/0 (40)
18:57:53.851454 IP leaf9.60906 > fritz.box.domain: 64354+ PTR? 1.1.168.192.in-addr.arpa. (42)
18:57:53.852491 IP fritz.box.domain > leaf9.60906: 64354* 10/1/1 PTR fritz.box., PTR www.fritz.box., PTR myfritz.box., PTR www.myfritz.box., PTR fritz.nas., PTR www.fritz.nas., PTR fritz-nas.fritz.box., PTR fritz-nas.box., PTR wpad.box., PTR wpad.fritz.box. (336)
18:57:53.864247 IP 123.123.123.0.22 > leaf9.43942: Flags [S.], seq 32768001, ack 4052391503, win 65535, options [mss 1460], length 0
18:57:53.864341 IP leaf9.43942 > 123.123.123.0.22: Flags [.], ack 1, win 64240, length 0
18:57:53.955395 IP 123.123.123.0.22 > leaf9.43942: Flags [P.], seq 1:42, ack 1, win 65535, length 41
18:57:53.955439 IP leaf9.43942 > 123.123.123.0.22: Flags [.], ack 42, win 64199, length 0

请问有什么想法吗?

networking openvpn ssh tcpdump linux-networking
  • 1 个回答
  • 132 Views
Martin Hope
emte
Asked: 2021-02-07 10:07:45 +0800 CST

openvpn 服务器未使用 tcpdump 显示流量

  • 0

我有一个 OpenVPN 服务器和两个客户端,

我可以相互 ping 客户端,但是当我这样做时,我在使用 tcpdump 的服务器上看不到任何数据包

服务器

在 192.168.0.1 上运行

我尝试使用捕获流量tcpdump -i tun0 icmp --immediate-mode -l -n

客户

在 192.168.0.2 上运行

我可以ping client2 ping 192.168.0.3,它可以很好地解决:

PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
64 bytes from 192.168.0.3: icmp_seq=1 ttl=128 time=32.4 ms

TCP 转储

但我从 tcpdump 看不到任何东西:

0 packets captured
0 packets received by filter
0 packets dropped by kernel

虽然如果我直接 ping openvpn 服务器ping 192.168.0.1,我可以看到在那里捕获的数据包:

18:05:04.022747 IP 192.168.0.2 > 192.168.0.1: ICMP echo request, id 5, seq 5, length 64
18:05:04.022801 IP 192.168.0.1 > 192.168.0.2: ICMP echo reply, id 5, seq 5, length 64

如何在服务器上捕获客户端间的通信数据包?

routing openvpn tcpdump
  • 1 个回答
  • 1080 Views
Martin Hope
KreonZZ
Asked: 2021-01-17 05:47:27 +0800 CST

使用 tcpdump 捕获 IEEE802.11.x 身份验证和功能数据?

  • 0

我正在解决我的无线网络(OpenWrt 19.x 和移动设备)的一些问题,我遇到了这个问题: https ://dot11.exposed/2017/09/20/violation-of-802-11-standard-intel -无线卡发送 40mhz 不容忍位在 5ghz/

最值得注意的是,这张特殊的抓拍照片: 在此处输入图像描述

这正是我正在寻找的,但我不知道如何捕获该信息。
ssh root@myRouter tcpdump -i wlan1 -U -e -s0 -w - 'not port 22' | "C:\Program Files\Wireshark\Wireshark.exe" -k -i - 只给我基本的握手后信息(四个 IEEE802.11x 消息),然后它直接跳转到 DHCP。但是我需要获取有关路由器和设备相互发送的功能的完整信息,以查看发生了什么。

wifi tcpdump wpa2 openwrt
  • 1 个回答
  • 266 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve