LINUX.ORG.RU

В каждом процессе одни и те же ip адреса и порты

 


0

3

Пишу программу чтобы посмотреть у какой программы какие порты открыты. Я щас только заметил что в каждом процессе одни и те же ip адреса и порты написаны. В общем даже в vim процессе в файле tcp, написаны адреса и порты, которые от firefox установлены.



Последнее исправление: Deleted (всего исправлений: 2)

Я как-то решил программы на компе через дизассемблер прогнать, чтобы посмотреть, как они устроены. Открываю одну — очень странное начало. Открываю другую — такое же начало, совершенно не похожее на нормальный софт. И третья такая же. И четвёртая.

В итоге выяснилось, что я тогда Win95.CIH подхватил.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

В итоге выяснилось, что я тогда Win95.CIH подхватил.

Наверное в том момент ты подумал о ( а что если создать базу вирусных сигнатур )!

Блин, я как то хотел увидеть вирусные сигнатуры у clamav, тогда я незнал как она устроена. Оказалось что clamav хранит хешированную базу, то есть когда программу сканирует, берет определенный размер программы, хеширует его и сравнивает со своей базой хеша.

А все таки, мне что ли придется отправлять сообщения ядру чтобы получить нужные данные от правильного pid?

u0atgKIRznY5
() автор топика

RTFM.

/proc/$PID/net/tcp это не список портов для процесса. Это список портов для текущего пространства имен.

Добавлю, что уже есть netstat, кому может понадобиться твой велосипед?

p.s. Делай название темы понятное ― я исправил, но вообще должен был удалить.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 3)
Ответ на: комментарий от Deleted

Добавлю, что уже есть netstat, кому может понадобиться твой велосипед?

Я хочу узнать какая программа отправляет данные на подозрительный ip адрес. Она выполнятся будет на android.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от Deleted

Добавлю, что уже есть netstat, кому может понадобиться твой велосипед?

Я уж думал что щас по быстрому решу проблему. А оказывается придется заглядывать в чужой код. А помимо netstat и lsof есть что нибудь ещё? Может знаешь легкий способ, чтобы ускорить понимание.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Делаешь readlink на каждый из открытых файловых дескрипторов (/proc/$PID/fd/*), получаешь номер индексного дескриптора.

По индексному дескриптору находишь в файлах /proc/$PID/net/{tcp,udp,udplite}{,6} нужную запись.

p.s. На Android тоже можно использовать netstat.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

netstat вроде deprecated, на замену пришел ss.

Deleted
()
Ответ на: комментарий от xpahos

Помимо TCP существует UDP. Как ты будешь ловить его lsof'ом?

ну lsof показывает какие то udp, наверное локальные. А так, я когда смотрел трафик то android обменивался по tcp данными, так что наверное придется в lsof заглянуть. Я уже наверное смотрел как lsof написан, и скорее всего ничего не понел, надо будет еще посмотреть.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от Deleted

Делаешь readlink на каждый из открытых файловых дескрипторов (/proc/$PID/fd/*), получаешь номер индексного дескриптора.

Спасибо, это очень помогло.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от i-rinat

Попробуйте открыть лучше в hex редакторе. Там ещё страннее. У линуксовых программ начало одно, а у виндовсовых - совсем другое!

anonymous
()
Ответ на: комментарий от u0atgKIRznY5

1) Прописывай нужные правила в фаервол.

2) Делай ifconfig ipfw0 create

3) Делай tcpdump -i ipfw0 -w dump.cap

4) Смотри dump.cap в wireshark

anonymous
()
Ответ на: комментарий от Deleted

Показывал еще vendor, но щас когда проверял работал youtube

0: 192.168.1.5:38228 74.125.131.198:443 227550
15217: com.google.android.youtube
-----------------------------------------------------------
Я когда смотрел сетевой трафик с помощью wireshark, ну я делал на телефон arpspoof, чтобы не заморачиваться c hostapd и настройкой iptables. Так вот, там как то побольше было адресов. Я вот незнаю, все ли у меня адреса показываются. И еще, чтобы не загружалась на полную катушку, я установил sleep ( 1 ). Но возможно это долго. Есть ли какой нибудь способ чтобы не загружать проц, и программа постоянно выполнялась?

u0atgKIRznY5
() автор топика
Ответ на: комментарий от Deleted

добавил еще uid чтобы видно было.

-----------------------------------------------------------
0: 192.168.1.5:60648 64.233.162.138:443 inode: 258933 uid: 10055
1: 192.168.1.5:60649 64.233.162.138:443 inode: 258936 uid: 10055
2: 192.168.1.5:60651 64.233.162.138:443 inode: 260268 uid: 10055
3: 192.168.1.5:60650 64.233.162.138:443 inode: 258939 uid: 10055
4: 192.168.1.5:60652 64.233.162.138:443 inode: 260288 uid: 10055
14314: com.android.vending
-----------------------------------------------------------

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Есть ли какой нибудь способ чтобы не загружать проц, и программа постоянно выполнялась?

Асинхронно, насколько мне известно, никак (ни через netlink, ни через inotify). Соответственно только синхронно с заданной задержкой через *sleep.

Deleted
()
Ответ на: комментарий от u0atgKIRznY5

Есть ли какой нибудь способ чтобы не загружать проц, и программа постоянно выполнялась?

Вам чтобы батарейку экономить, или чтобы не мешало другим процессам? Если второе, то уменьшить себе приоритет никогда не возбранялось. А вообще этот вопрос не совсем корректен, ибо либо у вас есть что делать, либо вы ожидаете какого-нибудь события.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.