วิธีแสดงรายการคำขอทั้งหมดไปยัง udp sockets?


9

ฉันใช้ daemons เซิร์ฟเวอร์สองตัวที่ใช้ udp เพื่อสื่อสารกับลูกค้าจำนวนมาก ฉันจะค้นหาและแสดงรายการ udp "การเชื่อมต่อ"ที่ใช้งานอยู่ทั้งหมดที่กำลังพูดคุยกับเซิร์ฟเวอร์เพื่อประเมินจำนวนของไคลเอ็นต์ที่ใช้งานที่เชื่อมต่อกับเซิร์ฟเวอร์ daemons ได้อย่างไร ฉันไม่คิดว่าวิธีง่ายๆในการทำเช่นนี้นอกเหนือจากการดมแพ็คเก็ตด้วย tshark หรือ tcpdump และดูที่ไอพีต้นทางของแพ็กเก็ต udp ที่ไปยังเซิร์ฟเวอร์ daemons และใช่ฉันรู้ว่า UDP นั้นเป็นโปรโตคอลไร้สายและไร้โปรโตคอล


เนื่องจากไม่มีสถานะ / สถานะ / อะไรสำหรับการเชื่อมต่อ UDP เลยอาจเป็นวิธีเดียวที่จะบันทึกข้อมูลบางอย่างสำหรับแต่ละแพ็คเก็ต (ส่งหรือรับ) อาจเปลี่ยนเส้นทางด้วย iptables ไปที่ daemon บางตัวที่จะบันทึก IP หรือเก็บสถิติหรืออะไรบางอย่าง
Sandman4

กำหนด " การเชื่อมต่อ udp ที่ใช้งาน "
Sandman4

@ Sandman4 บางทีเขาต้องการแสดงรายการคำขอทั้งหมดไปยังซ็อกเก็ต UDP
Sachin Divekar

คุณพยายามทำอะไร เป็นการยากที่จะติดตามคำขอ UDP โดยไม่ดมกลิ่นดังนั้นจึงมีบริบทชื่นชม
Rilindo

คุณสามารถโพสต์ผลลัพธ์ของsudo lsof -iUDP
Pieter Temmerman

คำตอบ:


9

UDP เป็นโปรโตคอลไร้สัญชาติ - ดังนั้นไม่มีรัฐ

หากต้องการดูว่ามีอะไรกำลังฟัง UDP:

netstat -lnpu

4

คุณสามารถบันทึกทุกการเชื่อมต่อ UDP โดยใช้ iptables:

iptables -A INPUT -p udp -j LOG --log-prefix "udp connection: "

บางทีคุณอาจต้องการ จำกัด บางพอร์ต ตรวจสอบเอกสารที่นี่man iptablesหรือโดยเฉพาะอย่างยิ่ง


3

บน Linux สมมติว่าติดตั้ง iproute2 แล้วคุณสามารถเรียกใช้คำสั่งssเพื่อดึง udp ซ็อกเก็ตดังนี้:

ss -u

หรือ udp ซ็อกเก็ตทั้งหมดด้วยกระบวนการที่เกี่ยวข้อง:

[root@kerberos ks]# ss -u -pa
State       Recv-Q Send-Q                                   Local Address:Port                                       Peer Address:Port   
UNCONN      0      0                                                    *:kerberos                                               *:*        users:(("krb5kdc",1935,7))
UNCONN      0      0                                                    *:mdns                                                  *:*        users:(("avahi-daemon",1613,13))
UNCONN      0      0                                                    *:rquotad                                               *:*        users:(("rpc.rquotad",1872,3))
UNCONN      0      0                                                    *:kerberos-iv                                               *:*        users:(("krb5kdc",1935,6))
UNCONN      0      0                                                    *:sunrpc                                                *:*        users:(("rpcbind",1569,6))
UNCONN      0      0                                                    *:ipp                                                   *:*        users:(("cupsd",1687,9))
UNCONN      0      0                                       192.168.15.100:ntp                                                   *:*        users:(("ntpd",1976,23))
UNCONN      0      0                                          172.16.15.1:ntp                                                   *:*        users:(("ntpd",1976,22))
UNCONN      0      0                                            127.0.0.1:ntp                                                   *:*        users:(("ntpd",1976,21))
UNCONN      0      0                                                    *:ntp                                                   *:*        users:(("ntpd",1976,16))
UNCONN      0      0                                                    *:892                                                   *:*        users:(("rpc.mountd",1888,7))
UNCONN      0      0                                                    *:896                                                   *:*        users:(("rpcbind",1569,7))
UNCONN      0      0                                                    *:32769                                                 *:*       
UNCONN      0      0                                                    *:nfs                                                   *:*       
UNCONN      0      0                                                    *:syslog                                                *:*        users:(("rsyslogd",1506,1))
UNCONN      0      0                                                    *:42375                                                 *:*        users:(("avahi-daemon",1613,14))
UNCONN      0      0                                                    *:pftp                                                  *:*        users:(("rpc.statd",1643,8))
UNCONN      0      0                                                    *:snmp                                                  *:*        users:(("snmpd",1949,7))
UNCONN      0      0                                                    *:37802                                                 *:*        users:(("squid",2124,9))
UNCONN      0      0                                                    *:bootps                                                *:*        users:(("dhcpd",1987,7))
UNCONN      0      0                                                    *:tftp                                                  *:*        users:(("xinetd",1968,6))
UNCONN      0      0                                                    *:971                                                   *:*        users:(("rpc.statd",1643,5))
UNCONN      0      0                                                    *:kpasswd                                               *:*        users:(("kadmind",1926,6))
UNCONN      0      0                             fe80::2e0:4cff:fe90:40eb:kerberos                                              :::*        users:(("krb5kdc",1935,11))
UNCONN      0      0                             fe80::226:2dff:fe47:309f:kerberos                                              :::*        users:(("krb5kdc",1935,9))
UNCONN      0      0                             fe80::2e0:4cff:fe90:40eb:kerberos-iv                                              :::*        users:(("krb5kdc",1935,10))
UNCONN      0      0                             fe80::226:2dff:fe47:309f:kerberos-iv                                              :::*        users:(("krb5kdc",1935,8))
UNCONN      0      0                                                   :::sunrpc                                               :::*        users:(("rpcbind",1569,9))
UNCONN      0      0                              fe80::fc54:ff:feda:8094:ntp                                                  :::*        users:(("ntpd",1976,26))
UNCONN      0      0                              fe80::fc54:ff:fe52:8f66:ntp                                                  :::*        users:(("ntpd",1976,30))
UNCONN      0      0                              fe80::fc54:ff:feea:63a8:ntp                                                  :::*        users:(("ntpd",1976,29))
UNCONN      0      0                              fe80::fc54:ff:fe16:15c3:ntp                                                  :::*        users:(("ntpd",1976,28))
UNCONN      0      0                              fe80::fc54:ff:fe75:8012:ntp                                                  :::*        users:(("ntpd",1976,27))
UNCONN      0      0                              fe80::fc54:ff:feb3:4da8:ntp                                                  :::*        users:(("ntpd",1976,25))
UNCONN      0      0                             fe80::226:2dff:fe47:309f:ntp                                                  :::*        users:(("ntpd",1976,20))
UNCONN      0      0                             fe80::2e0:4cff:fe90:40eb:ntp                                                  :::*        users:(("ntpd",1976,19))
UNCONN      0      0                                                  ::1:ntp                                                  :::*        users:(("ntpd",1976,18))
UNCONN      0      0                                                   :::ntp                                                  :::*        users:(("ntpd",1976,17))
UNCONN      0      0                                                   :::892                                                  :::*        users:(("rpc.mountd",1888,9))
UNCONN      0      0                                                   :::896                                                  :::*        users:(("rpcbind",1569,10))
UNCONN      0      0                                                   :::32769                                                :::*       
UNCONN      0      0                                                   :::nfs                                                  :::*       
UNCONN      0      0                                                   :::syslog                                               :::*        users:(("rsyslogd",1506,2))
UNCONN      0      0                                                   :::pftp                                                 :::*        users:(("rpc.statd",1643,10))
UNCONN      0      0                             fe80::2e0:4cff:fe90:40eb:kpasswd                                              :::*        users:(("kadmind",1926,8))
UNCONN      0      0                             fe80::226:2dff:fe47:309f:kpasswd                                              :::*        users:(("kadmind",1926,7))
UNCONN      0      0                                                   :::59603                                                :::*        users:(("squid",2124,8))
[root@kerberos ks]# ss -upa
State       Recv-Q Send-Q                                   Local Address:Port                                       Peer Address:Port   
UNCONN      0      0                                                    *:kerberos                                               *:*        users:(("krb5kdc",1935,7))
UNCONN      0      0                                                    *:mdns                                                  *:*        users:(("avahi-daemon",1613,13))
UNCONN      0      0                                                    *:rquotad                                               *:*        users:(("rpc.rquotad",1872,3))
UNCONN      0      0                                                    *:kerberos-iv                                               *:*        users:(("krb5kdc",1935,6))
UNCONN      0      0                                                    *:sunrpc                                                *:*        users:(("rpcbind",1569,6))
UNCONN      0      0                                                    *:ipp                                                   *:*        users:(("cupsd",1687,9))
UNCONN      0      0                                       192.168.15.100:ntp                                                   *:*        users:(("ntpd",1976,23))
UNCONN      0      0                                          172.16.15.1:ntp                                                   *:*        users:(("ntpd",1976,22))
UNCONN      0      0                                            127.0.0.1:ntp                                                   *:*        users:(("ntpd",1976,21))
UNCONN      0      0                                                    *:ntp                                                   *:*        users:(("ntpd",1976,16))
UNCONN      0      0                                                    *:892                                                   *:*        users:(("rpc.mountd",1888,7))
UNCONN      0      0                                                    *:896                                                   *:*        users:(("rpcbind",1569,7))
UNCONN      0      0                                                    *:32769                                                 *:*       
UNCONN      0      0                                                    *:nfs                                                   *:*       
UNCONN      0      0                                                    *:syslog                                                *:*        users:(("rsyslogd",1506,1))
UNCONN      0      0                                                    *:42375                                                 *:*        users:(("avahi-daemon",1613,14))
UNCONN      0      0                                                    *:pftp                                                  *:*        users:(("rpc.statd",1643,8))
UNCONN      0      0                                                    *:snmp                                                  *:*        users:(("snmpd",1949,7))
UNCONN      0      0                                                    *:37802                                                 *:*        users:(("squid",2124,9))
UNCONN      0      0                                                    *:bootps                                                *:*        users:(("dhcpd",1987,7))
UNCONN      0      0                                                    *:tftp                                                  *:*        users:(("xinetd",1968,6))
UNCONN      0      0                                                    *:971                                                   *:*        users:(("rpc.statd",1643,5))
UNCONN      0      0                                                    *:kpasswd                                               *:*        users:(("kadmind",1926,6))
UNCONN      0      0                             fe80::2e0:4cff:fe90:40eb:kerberos                                              :::*        users:(("krb5kdc",1935,11))
UNCONN      0      0                             fe80::226:2dff:fe47:309f:kerberos                                              :::*        users:(("krb5kdc",1935,9))
UNCONN      0      0                             fe80::2e0:4cff:fe90:40eb:kerberos-iv                                              :::*        users:(("krb5kdc",1935,10))
UNCONN      0      0                             fe80::226:2dff:fe47:309f:kerberos-iv                                              :::*        users:(("krb5kdc",1935,8))
UNCONN      0      0                                                   :::sunrpc                                               :::*        users:(("rpcbind",1569,9))
UNCONN      0      0                              fe80::fc54:ff:feda:8094:ntp                                                  :::*        users:(("ntpd",1976,26))
UNCONN      0      0                              fe80::fc54:ff:fe52:8f66:ntp                                                  :::*        users:(("ntpd",1976,30))
UNCONN      0      0                              fe80::fc54:ff:feea:63a8:ntp                                                  :::*        users:(("ntpd",1976,29))
UNCONN      0      0                              fe80::fc54:ff:fe16:15c3:ntp                                                  :::*        users:(("ntpd",1976,28))
UNCONN      0      0                              fe80::fc54:ff:fe75:8012:ntp                                                  :::*        users:(("ntpd",1976,27))
UNCONN      0      0                              fe80::fc54:ff:feb3:4da8:ntp                                                  :::*        users:(("ntpd",1976,25))
UNCONN      0      0                             fe80::226:2dff:fe47:309f:ntp                                                  :::*        users:(("ntpd",1976,20))
UNCONN      0      0                             fe80::2e0:4cff:fe90:40eb:ntp                                                  :::*        users:(("ntpd",1976,19))
UNCONN      0      0                                                  ::1:ntp                                                  :::*        users:(("ntpd",1976,18))
UNCONN      0      0                                                   :::ntp                                                  :::*        users:(("ntpd",1976,17))
UNCONN      0      0                                                   :::892                                                  :::*        users:(("rpc.mountd",1888,9))
UNCONN      0      0                                                   :::896                                                  :::*        users:(("rpcbind",1569,10))
UNCONN      0      0                                                   :::32769                                                :::*       
UNCONN      0      0                                                   :::nfs                                                  :::*       
UNCONN      0      0                                                   :::syslog                                               :::*        users:(("rsyslogd",1506,2))
UNCONN      0      0                                                   :::pftp                                                 :::*        users:(("rpc.statd",1643,10))
UNCONN      0      0                             fe80::2e0:4cff:fe90:40eb:kpasswd                                              :::*        users:(("kadmind",1926,8))
UNCONN      0      0                             fe80::226:2dff:fe47:309f:kpasswd                                              :::*        users:(("kadmind",1926,7))
UNCONN      0      0                                                   :::59603                                                :::*        users:(("squid",2124,8))

นี่คือตัวอย่างเพิ่มเติมที่คุณสามารถใช้กับ ss รวมถึงรับการเชื่อมต่อต่อกระบวนการ

http://www.cyberciti.biz/files/ss.html


1
อีกครั้ง udp สามารถเชื่อมต่อได้อย่างไร ssแสดงเฉพาะซ็อกเก็ต UDP ไม่ได้เชื่อมต่อ
Sachin Divekar

ทางเลือกที่ไม่ดีของคำ ที่กล่าวว่าฉันขอชี้แจงจาก Flit เนื่องจากยังไม่ชัดเจนว่าเขาพยายามทำอะไร
Rilindo

ความแตกต่างระหว่างss -paและss -upaในตัวอย่างคืออะไร? ควรลบครึ่งหนึ่งหรือไม่
Mihail Malostanidis

3

เนื่องจากผู้อื่นได้กล่าวถึง UDP เป็นการเชื่อมต่อน้อยดังนั้นสถานะไม่ถูกติดตามในตำแหน่งที่ตั้งมาตรฐานที่คุณอาจดู

วิธีการหนึ่งที่คุณสามารถใช้คือติดตั้งกฎเน็ตฟิลเตอร์แบบง่าย ๆ ที่ใช้--stateตัวเลือก สิ่งนี้จะบังคับให้ netfilter ติดตามสถานะที่เกี่ยวข้องกับ UDP เมื่อคุณตั้งค่ากฎแล้วคุณสามารถใช้เครื่องมือเช่นconntrackเพื่อดูตารางสถานะ netfilter ตัวอย่างเช่นนี่เป็นสิ่งที่ระบบของฉันมีลักษณะ คุณสามารถดูว่ามีระบบสองระบบที่สื่อสารกับ udp / 1194 (OpenVPN) บ่อยครั้ง

root@enterprise:# conntrack  -L -p udp
udp      17 173 src=192.168.32.1 dst=192.168.32.10 sport=41179 dport=1194 packets=2072 bytes=188058 src=192.168.32.10 dst=192.168.32.1 sport=1194 dport=41179 packets=2081 bytes=201185 [ASSURED] mark=0 secmark=0 use=1
udp      17 175 src=192.168.32.26 dst=192.168.32.10 sport=57440 dport=1194 packets=806767 bytes=154637738 src=192.168.32.10 dst=192.168.32.26 sport=1194 dport=57440 packets=1265893 bytes=1588040830 [ASSURED] mark=0 secmark=0 use=1

กฎเน็ตฟิลเตอร์ของคุณอาจง่ายเหมือนนี้

/sbin/iptables -t filter -A INPUT -m state --state NEW\,ESTABLISHED -j ACCEPT
/sbin/iptables -t filter -A FORWARD -m state --state NEW\,ESTABLISHED -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -m state --state NEW\,ESTABLISHED -j ACCEPT

2

แรงบันดาลใจจากคำตอบนี้ฉันพบว่าssไวยากรณ์ต่อไปนี้ใช้งานได้สำหรับฉัน:

ss -u state CLOSE

…เนื่องจากซ็อคเก็ต "กำลังฟัง" UDP เปรียบเสมือนซ็อกเก็ต TCP "ปิด"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.