IT博客:如何查看本機ftp服務器ip地址查詢

問題:作為ftp服務器,會收到不同服務器傳過去的文件。不同的服務器會使用不同的用戶。如果希望查看某一目錄的文件(不同的ftp用戶使用不同的目錄)來源,如何查找對端的ip?

1、通過/etc/passwd,可以找到指定目錄對應的ftp用戶

[root@YMM tmp]# cat /etc/passwd|grep elog_user

elog_user:x:502:503::/home/Unicom/elogDir:/sbin/nologin

2、通過“netstat |grep ftp”,可以查找ftp到本機的所有遠端ip

[root@YMM tmp]# netstat |grep ftp

tcp 0 0 172.168.1.155:50750 172.168.1.161:ftp ESTABLISHED

tcp 0 0 172.168.1.155:ftp 172.168.1.154:51981 TIME_WAIT

tcp 0 0 172.168.1.155:ftp 172.168.1.154:51977 TIME_WAIT

tcp 0 0 172.168.1.155:ftp 172.168.1.154:51979 TIME_WAIT

tcp 0 0 172.168.1.155:ftp 172.168.1.168:57437 TIME_WAIT

tcp 0 0 172.168.1.155:ftp 172.168.1.168:57425 TIME_WAIT

3、如果遠端ip只有一個,那麼,則找到該ip。

如果遠端ip不止一個,一個比較笨的辦法,就是一個個登錄,確定對應的ip。

下面說的是另一種辦法。

我們知道,ftp的傳輸是明文傳輸的,因此,傳輸的過程中,一定可以明文找到對應的用戶名。舉例如下:

10:40:40.629789 IP 172.168.1.154.51627 > 172.168.1.155.21: Flags [P.], seq 1:17, ack 21, win 115, options [nop,nop,TS val 1804049752 ecr 1800293869], length 16

0x0000: 4500 0044 38a6 4000 4006 7d88 c0a8 019a E..D8.@.@.}.....

0x0010: c0a8 019b c9ab 0015 b4cf a5f7 16cd ee1b ................

0x0020: 8018 0073 8f56 0000 0101 080a 6b87 9d58 ...s.V......k..X

0x0030: 6b4e 4ded 5553 4552 2065 6c6f 675f 7573 kNM.USER.elog_us

0x0040: 6572 0d0a er..

10:40:40.629804 IP 172.168.1.155.21 > 172.168.1.154.51627: Flags [.], ack 17, win 114, options [nop,nop,TS val 1800293869 ecr 1804049752], length 0

0x0000: 4500 0034 a3ee 4000 4006 1250 c0a8 019b E..4..@[email protected]....

0x0010: c0a8 019a 0015 c9ab 16cd ee1b b4cf a607 ................

0x0020: 8010 0072 0629 0000 0101 080a 6b4e 4ded ...r.)......kNM.

0x0030: 6b87 9d58 k..X

上面是使用tcpdump抓的一個ftp連接過程的包,我們可以看到用戶名“elog_user”是明文顯示的(注意換行)。

那麼既然我們已經知道了指定目錄文件對應的ftp用戶,那麼我們也就可以確定使用該ftp用戶的對端ftp,這樣就可以達到目的。

4、 在ftp服務器上使用tcpdump抓取ftp對應的包(端口為21)

抓取eth2網卡中端口為21的數據,並打印包的數據,重定向到文件“/tmp/a.log”

tcpdump -i eth2 -nn port 21 -X |tee /tmp/a.log

注:需要指定網卡,否則可能會出現下面的錯誤提示:

tcpdump: USB link-layer type filtering not implemented

網卡根據實際情況指定,獲取的方法為“ifconfig”

5、查找指定用戶,並顯示上幾行數據

因為對應的ip都在顯示用戶的上幾行,因此,需要使用grep的“-B”參數

注:grep -B NUM 表示顯示篩選的字符串及上面NUM行

[root@YMM tmp]# grep -B 4 "elog_us" a.log

10:40:30.397662 IP 172.168.1.154.51625 > 172.168.1.155.21: Flags [P.], seq 1:17, ack 21, win 115, options [nop,nop,TS val 1804039520 ecr 1800283637], length 16

0x0000: 4500 0044 3673 4000 4006 7fbb c0a8 019a E..D6s@.@.......

0x0010: c0a8 019b c9a9 0015 a6bc 432e f08c e246 ..........C....F

0x0020: 8018 0073 823a 0000 0101 080a 6b87 7560 ...s.:......k.u`

0x0030: 6b4e 25f5 5553 4552 2065 6c6f 675f 7573 kN%.USER.elog_us

--

10:40:40.629789 IP 172.168.1.154.51627 > 172.168.1.155.21: Flags [P.], seq 1:17, ack 21, win 115, options [nop,nop,TS val 1804049752 ecr 1800293869], length 16

0x0000: 4500 0044 38a6 4000 4006 7d88 c0a8 019a E..D8.@.@.}.....

0x0010: c0a8 019b c9ab 0015 b4cf a5f7 16cd ee1b ................

0x0020: 8018 0073 8f56 0000 0101 080a 6b87 9d58 ...s.V......k..X

0x0030: 6b4e 4ded 5553 4552 2065 6c6f 675f 7573 kNM.USER.elog_us

通過以上方法,就可以顯示指定ftp用戶對應的對端ip。服務器租用qq3003921204

IT博客:如何查看本機ftp服務器ip地址查詢



分享到:


相關文章: